Dynamische Farbe

Material You Design wurde mit der Veröffentlichung von Android 12 eingeführt und mit Android 13 erweitert.

Diese Seite konzentriert sich auf Aktualisierungen der Material You-Logik, um Sie bei der Integration mit einer umfassenderen dynamischen Farbunterstützung zu unterstützen.

Dynamische Farbtonpaletten

Ab Android 12 werden die folgenden dynamischen Farbtonpaletten unterstützt:

Jede von ihnen besteht aus einem Satz von 13 Farben mit definierten verschiedenen Luminanzwerten, wie unter R.color beschrieben, jedoch mit undefinierten Farbton- und Chromawerten, die vom Android-System zur Laufzeit dynamisch generiert werden können.

Themenstile für dynamische Farben

Ab Android 13 werden sechs verschiedene Designstile mit Variationen des dynamischen Farbalgorithmus unterstützt, die den Entwickleranforderungen und Kontrasterwartungen gerecht werden. Diese werden zum Generieren der 65 dynamischen Farben aufgeführt, die von Apps verwendet werden:

  • TONAL_SPOT ist eine Palette mit mittlerer Lebendigkeit, die eine system_accent3_0 Farbe analog zur system_accent1_0 Farbe verwendet (aus der Android 12-Version übernommen und leicht angepasst).
  • VIBRANT ist eine Palette mit hoher Lebendigkeit, die subtile Farbwechsel harmonisch miteinander verbindet.
  • EXPRESSIVE ist eine hochlebendige Palette, die unerwartete und einzigartige Akzentfarben miteinander verbindet.
  • SPRITZ ist eine Palette mit geringer Lebendigkeit, die einen sanften Übergang zwischen den Farben erzeugt.
  • RAINBOW verwendet sowohl chromatische Akzente als auch neutrale Oberflächen, um dem Benutzer ein subtileres Farberlebnis zu bieten.
    • Die Verwendung mit hintergrundbildbasierter Farbextraktion wird NICHT EMPFOHLEN , sondern sollte stattdessen mit statischen Farbthemen verwendet werden.
  • FRUIT_SALAD bietet zwei Klangfarben , um Benutzern mehr Ausdruck zu verleihen.
    • Die Verwendung mit hintergrundbildbasierter Farbextraktion wird NICHT EMPFOHLEN , sondern sollte stattdessen mit statischen Farbthemen verwendet werden.

Das Systemdesign wird durch dieselbe Einstellung wie in Android 12 gesteuert, nämlich Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES . Für Android 13 ist nur ein Schlüssel in seinem JSON erforderlich, der die Quellfarbe sendet, um die 65 Farbpaletten zu generieren:

{
    "android.theme.customization.system_palette":"746BC1"
}

Der Standard-Designstil ist TONAL_SPOT , aber Sie können optional einen der anderen Designstile mit einem zusätzlichen Schlüssel mit dem JSON oben angeben:

{
    "android.theme.customization.system_palette":"746BC1"
    "android.theme.customization.theme_style":"EXPRESSIVE"
}

Integration dynamischer Farben

Richtlinien zur Integration dynamischer Farben finden Sie unter „Integration von von Ihnen entworfenem Material“ .

Häufig gestellte Fragen (FAQs)

Was beinhaltet die API für dynamische Tonpaletten?

Wie entsteht eine dynamische Tonpalette?

Eine dynamische Tonpalette muss aus einer einzelnen Quellfarbe generiert werden, die mithilfe von com.android.systemui.monet.ColorScheme#getSeedColors vom Hintergrundbild abgeleitet werden sollte, das mehrere gültige Quellfarben bereitstellt. Wenn keine der bereitgestellten Farben die Anforderungen an die Quellfarbe erfüllt, sollte die einzelne Quellfarbe den Wert 0xFF1B6EF3 verwenden.