Ab dem 27. März 2025 empfehlen wir, android-latest-release anstelle von aosp-main zu verwenden, um AOSP zu erstellen und Beiträge dazu zu leisten. Weitere Informationen finden Sie unter Änderungen am AOSP.
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
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 Farbtonpaletten
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 Designstilen mit Variationen des dynamischen Farbalgorithmus unterstützt, die die Anforderungen der Entwickler und die Kontrastansprüche erfüllen. Diese werden zum Generieren der 65 dynamischen Farben verwendet, die in 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 zwischen den Farben 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.
Die Verwendung dieser Funktion wird NICHT EMPFOHLEN, wenn die Hintergrundfarbe extrahiert wird. Sie sollte stattdessen für statische Farbthemen 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:
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:
Jede Farbtonpalette enthält 13 Farbwerte, die auf die 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 Farbpalette, der auf den Index endet. Beispiel:
R.color#system_accent1_10
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.
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-08-24 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-08-24 (UTC)."],[],[],null,["# Dynamic color\n\nMaterial You design was launched with the Android 12\nrelease and expanded with Android 13.\n\nThis page focuses on updates to the Material You logic to help you integrate\nwith richer dynamic color support.\n\nDynamic color tonal palettes\n----------------------------\n\nStarting with Android 12, the following dynamic color\ntonal palettes are supported:\n\n- [`system_accent1_0`](https://developer.android.com/reference/android/R.color#system_accent1_0)\n- [`system_accent2_0`](https://developer.android.com/reference/android/R.color#system_accent2_0)\n- [`system_accent3_0`](https://developer.android.com/reference/android/R.color#system_accent3_0)\n- [`system_neutral1_0`](https://developer.android.com/reference/android/R.color#system_neutral1_0)\n- [`system_neutral2_0`](https://developer.android.com/reference/android/R.color#system_neutral2_0))\n\nEach of them comprise of a set of 13 colors with defined various luminance\nvalues as described at\n[`R.color`](https://developer.android.com/reference/android/R.color),\nbut with undefined hue and chroma values that can be dynamically generated by\nthe Android system at runtime.\n\nTheme styles for dynamic color\n------------------------------\n\nStarting with Android 13, six different theme styles\nare supported with variations on the dynamic color algorithm that maintain\ndeveloper needs and contrast expectations. These are listed for generating the\n65 dynamic color used by apps:\n\n- `TONAL_SPOT` is a mid-vibrancy palette that uses an `system_accent3_0` color analogous to the `system_accent1_0` color (carried over from the Android 12 release and slightly adjusted).\n- `VIBRANT` is a high-vibrancy palette that harmoniously blends subtle shift between colors.\n- `EXPRESSIVE` is a high-vibrancy palette that pairs unexpected and unique accents colors together.\n- `SPRITZ` is a low-vibrancy palette that creates a soft wash between colors.\n- `RAINBOW` uses both chromatic accents and neutral surfaces to create a more subtle color experience for users.\n - This is **NOT RECOMMENDED** to be used with wallpaper-based color extraction and should instead be used with static color themes.\n- `FRUIT_SALAD` provides *two tone colors* to give users more expression.\n - This is **NOT RECOMMENDED** to be used with wallpaper-based color extraction and should instead be used with static color themes.\n\nThe system theme is driven by the same setting as it was in Android 12,\nwhich is `Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES`. For Android\n13, it requires only one key on its JSON that sends the\nsource color to generate the 65 color palettes: \n\n {\n \"android.theme.customization.system_palette\":\"746BC1\"\n }\n\nThe default theme style is `TONAL_SPOT`, but you can optionally specify one of\nthe other theme styles with an additional key with the JSON above: \n\n {\n \"android.theme.customization.system_palette\":\"746BC1\"\n \"android.theme.customization.theme_style\":\"EXPRESSIVE\"\n }\n\n| **Note:** You aren't required to expose ALL of the new theme styles in your UI, and can decide which to expose based on your user/brand needs. However, dynamic color palettes **MUST** be generated through one of these theme styles as CTS-tested by `SystemPaletteTest#testThemeStyles` and mandated by CDD.\n\nIntegrating dynamic color\n-------------------------\n\nFor guidelines on integrating dynamic color, see [Integrating Material You\nDesign](/docs/core/display/material).\n\nFrequently asked questions (FAQs)\n---------------------------------\n\n### What does the dynamic tonal palette API include?\n\n- There are five tonal palettes:\n\n - [`system_accent1`](https://developer.android.com/reference/android/R.color#system_accent1_0)\n - [`system_accent2`](https://developer.android.com/reference/android/R.color#system_accent2_0)\n - [`system_accent3`](https://developer.android.com/reference/android/R.color#system_accent3_0)\n - [`system_neutral1`](https://developer.android.com/reference/android/R.color#system_neutral1_0)\n - [`system_neutral2`](https://developer.android.com/reference/android/R.color#system_neutral2_0)\n- Each tonal palette has 13 color values ending in the indexes 0, 10, 50, 100,\n 200, 300, 400, 500, 600, 700, 800, 900, and 1000.\n\n- The resulting API is a combination of the tonal palette name, ending in the\n index. For example:\n [`R.color#system_accent1_10`](https://developer.android.com/reference/android/R.color#system_accent1_10)\n\n### How is a dynamic tonal pallet generated?\n\nA dynamic tonal palette must be generated from a single source color that should\nbe derived from wallpaper using\n`com.android.systemui.monet.ColorScheme#getSeedColors`, which provides multiple\nvalid source colors. If none of the provided colors meet the source color\nrequirement, the single source color should use the value `0xFF1B6EF3`."]]