Dynamische Farben

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

Auf dieser Seite geht es hauptsächlich um Updates an der Material You-Logik, die Ihnen helfen sollen, die dynamische Farbunterstützung besser zu integrieren.

Dynamische Farbpaletten

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

Jede davon besteht aus 13 Farben mit verschiedenen Leuchtdichtewerten, wie unter R.color beschrieben, aber mit nicht definierten Farbton- und Farbsättigungswerten, die vom Android-System zur Laufzeit dynamisch generiert werden können.

Designstil für dynamische Farben

Ab Android 13 werden sechs verschiedene Designstile mit Variationen des dynamischen Farbalgorithmus unterstützt, die die Anforderungen der Entwickler erfüllen und kontrastreiche Kontraste bilden. Diese sind zum Generieren der 65 dynamischen Farben aufgelistet, die von Apps verwendet werden:

  • TONAL_SPOT ist eine mittelkräftige Palette mit einer system_accent3_0-Farbe, die der system_accent1_0-Farbe aus der Android 12-Version entspricht und leicht angepasst wurde.
  • VIBRANT ist eine kräftige Palette, die subtile Farbverläufe harmonisch miteinander verbindet.
  • EXPRESSIVE ist eine kräftige Palette, die unerwartete und einzigartige Akzentfarben kombiniert.
  • SPRITZ ist eine Farbpalette mit geringer Leuchtkraft, die einen sanften Farbverlauf erzeugt.
  • RAINBOW verwendet sowohl chromatische Akzente als auch neutrale Oberflächen, um Nutzern eine subtilere Farbgebung zu bieten.
    • Die Verwendung dieser Funktion für die hintergrundbasierte Farbextraktion wird NICHT EMPFOHLEN. Stattdessen sollte sie für statische Farbthemen verwendet werden.
  • FRUIT_SALAD bietet Zweifarbtöne, um Nutzern mehr Ausdrucksmöglichkeiten zu bieten.
    • Diese Option sollte NICHT EMPFOHLEN mit einer hintergrundbasierten Farbextraktion verwendet werden. Sie sollte stattdessen mit statischen Farbdesigns verwendet werden.

Das Systemdesign wird von derselben Einstellung wie in Android 12 gesteuert, nämlich Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES. Für Android 13 ist nur ein Schlüssel in der JSON-Datei erforderlich, über den die Quellfarbe gesendet wird, um die 65 Farbpaletten zu generieren:

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

Der Standard-Designstil ist TONAL_SPOT. Sie können aber optional einen der anderen Designstile mit einem zusätzlichen Schlüssel in der obigen JSON-Datei angeben:

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

Dynamische Farben einbinden

Richtlinien zum Einbinden dynamischer Farben findest du unter Material You Design integrieren.

Häufig gestellte Fragen

Was ist in der dynamischen Tonpaletten-API enthalten?

Wie wird eine dynamische Farbpalette generiert?

Eine dynamische Farbpalette muss aus einer einzelnen Quellfarbe generiert werden, die mit com.android.systemui.monet.ColorScheme#getSeedColors aus dem Hintergrundbild abgeleitet werden sollte. com.android.systemui.monet.ColorScheme#getSeedColors bietet mehrere gültige Quellfarben. Wenn keine der angegebenen Farben die Anforderungen an die Quellfarbe erfüllt, sollte für die einzelne Quellfarbe der Wert 0xFF1B6EF3 verwendet werden.