Dynamische Farben

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_SPOT ist eine Palette mit mittlerer Lebendigkeit, die eine system_accent3_0-Farbe verwendet, die der system_accent1_0-Farbe ähnelt (aus der Android 12-Version übernommen und leicht angepasst).
  • VIBRANT ist eine Palette mit hoher Lebendigkeit, bei der die Farben harmonisch ineinander übergehen.
  • EXPRESSIVE ist eine Palette mit hoher Lebendigkeit, bei der unerwartete und einzigartige Akzentfarben kombiniert werden.
  • SPRITZ ist eine Palette mit geringer Lebendigkeit, bei der die Farben sanft ineinander übergehen.
  • RAINBOW verwendet 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_SALAD bietet 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?

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.