Das Material You-Design wurde mit der Veröffentlichung von Android 12 eingeführt und mit Android 13 erweitert.
Auf dieser Seite werden die Updates an der Material You-Logik beschrieben, die Ihnen helfen sollen, eine umfassendere Unterstützung für dynamische Farben zu integrieren.
Farbtonpaletten für dynamische Farben
Ab Android 12 werden die folgenden Farbtonpaletten für dynamische Farben unterstützt:
Jede von ihnen besteht aus 13 Farben mit definierten verschiedenen Luminanz
werten, wie unter
R.color beschrieben.
Farbton- und Chroma-Werte sind jedoch nicht definiert und können vom Android-System zur Laufzeit dynamisch generiert werden.
Designstile für dynamische Farben
Ab Android 13 werden sechs verschiedene Designstile mit Variationen des Algorithmus für dynamische Farben unterstützt, die die Anforderungen von Entwicklern und die Erwartungen an den Kontrast erfüllen. Diese werden zum Generieren der 65 dynamischen Farben verwendet, die von Apps genutzt werden:
TONAL_SPOTist eine Palette mit mittlerer Lebendigkeit, die einesystem_accent3_0-Farbe verwendet, die dersystem_accent1_0-Farbe ähnelt (aus der Android 12-Version übernommen und leicht angepasst).VIBRANTist eine Palette mit hoher Lebendigkeit, bei der die Farben harmonisch ineinander übergehen.EXPRESSIVEist eine Palette mit hoher Lebendigkeit, bei der unerwartete und einzigartige Akzentfarben kombiniert werden.SPRITZist eine Palette mit geringer Lebendigkeit, bei der die Farben sanft ineinander übergehen.RAINBOWverwendet sowohl chromatische Akzente als auch neutrale Oberflächen, um Nutzern ein subtileres Farberlebnis zu bieten.- Diese Palette sollte NICHT mit der auf dem Hintergrund basierenden Farbextraktion verwendet werden, sondern stattdessen mit statischen Farbdesigns.
FRUIT_SALADbietet zwei Farbtöne , um Nutzern mehr Ausdrucksmöglichkeiten zu bieten.- Diese Palette sollte NICHT mit der auf dem Hintergrund basierenden Farbextraktion verwendet werden, sondern stattdessen mit statischen Farbdesigns.
Das Systemdesign wird durch dieselbe Einstellung wie in Android 12 gesteuert: Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES. Für Android 13 ist nur ein Schlüssel im JSON erforderlich, der die Quellfarbe sendet, um die 65 Farbpaletten zu generieren:
{
"android.theme.customization.system_palette":"746BC1"
}
Der Standarddesignstil ist TONAL_SPOT. Sie können aber optional einen der anderen Designstile mit einem zusätzlichen Schlüssel im obigen JSON angeben:
{
"android.theme.customization.system_palette":"746BC1"
"android.theme.customization.theme_style":"EXPRESSIVE"
}
Dynamische Farben einbinden
Richtlinien zum Einbinden dynamischer Farben finden Sie unter Material You Design einbinden.
Häufig gestellte Fragen
Was ist in der API für dynamische Farbtonpaletten enthalten?
Es gibt fünf Farbtonpaletten:
Jede Farbtonpalette hat 13 Farbwerte, die mit den Indizes 0, 10, 50, 100, 200, 300, 400, 500, 600, 700, 800, 900 und 1000 enden.
Die resultierende API ist eine Kombination aus dem Namen der Farbtonpalette und dem Index. Beispiel:
R.color#system_accent1_10
Wie wird eine dynamische Farbtonpalette generiert?
Eine dynamische Farbtonpalette muss aus einer einzelnen Quellfarbe generiert werden, die aus dem Hintergrund abgeleitet werden sollte. Verwenden Sie dazu com.android.systemui.monet.ColorScheme#getSeedColors, das mehrere gültige Quellfarben liefert. Wenn keine der angegebenen Farben die Anforderung an die Quellfarbe erfüllt, sollte die einzelne Quellfarbe den Wert 0xFF1B6EF3 verwenden.