Das Material You-Design wurde mit Android 12 eingeführt und mit Android 13 erweitert.
Auf dieser Seite geht es um Updates der Material You-Logik, die Ihnen helfen, eine umfassendere Unterstützung für dynamische Farben zu integrieren.
Tonale Paletten für dynamische Farben
Ab Android 12 werden die folgenden dynamischen Farbtonpaletten unterstützt:
Jedes besteht aus 13 Farben mit definierten verschiedenen Luminanzwerten, 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 dynamischen Farbalgorithmus unterstützt, die den Anforderungen von Entwicklern und den Erwartungen an den Kontrast entsprechen. Diese werden zum Generieren der 65 dynamischen Farben verwendet, die von Apps genutzt werden:
TONAL_SPOT
ist eine Palette mit mittlerer Leuchtkraft, die einesystem_accent3_0
-Farbe verwendet, die analog zursystem_accent1_0
-Farbe ist (aus Android 12 übernommen und leicht angepasst).VIBRANT
ist eine Palette mit hoher Leuchtkraft, bei der die Farben harmonisch ineinander übergehen.EXPRESSIVE
ist eine Palette mit hoher Leuchtkraft, die unerwartete und einzigartige Akzentfarben kombiniert.SPRITZ
ist eine Palette mit geringer Leuchtkraft, die einen weichen Übergang zwischen den Farben erzeugt.RAINBOW
verwendet sowohl chromatische Akzente als auch neutrale Oberflächen, um Nutzern ein dezenteres Farberlebnis zu bieten.- Die Verwendung mit der auf dem Hintergrund basierenden Farbauswahl wird NICHT EMPFOHLEN. Stattdessen sollten statische Farbdesigns verwendet werden.
FRUIT_SALAD
bietet Zweitonfarben, damit Nutzer sich besser ausdrücken können.- Die Verwendung mit der auf dem Hintergrund basierenden Farbauswahl wird NICHT EMPFOHLEN. Stattdessen sollten statische Farbdesigns 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 im JSON erforderlich, der die Quellfarbe zum Generieren der 65 Farbpaletten sendet:
{
"android.theme.customization.system_palette":"746BC1"
}
Der Standardstil für das Design ist TONAL_SPOT
. Sie können jedoch optional einen der anderen Designstile mit einem zusätzlichen Schlüssel im JSON-Code oben angeben:
{
"android.theme.customization.system_palette":"746BC1"
"android.theme.customization.theme_style":"EXPRESSIVE"
}
Dynamische Farben einbinden
Richtlinien zur Integration dynamischer Farben finden Sie unter Material You-Design integrieren.
Häufig gestellte Fragen
Was ist in der API für dynamische tonale Paletten enthalten?
Es gibt fünf tonale Paletten:
Jede tonale Palette hat 13 Farbwerte, die mit den Indexen 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 tonalen Palette, die mit dem Index endet. Beispiel:
R.color#system_accent1_10
Wie wird eine dynamische tonale Palette generiert?
Eine dynamische tonale Palette muss aus einer einzelnen Quellfarbe generiert werden, die aus dem Hintergrundbild mit com.android.systemui.monet.ColorScheme#getSeedColors
abgeleitet werden sollte. Dadurch werden mehrere gültige Quellfarben bereitgestellt. Wenn keine der angegebenen Farben die Anforderung an die Quellfarbe erfüllt, sollte für die einzelne Quellfarbe der Wert 0xFF1B6EF3
verwendet werden.