A partire dal 27 marzo 2025, ti consigliamo di utilizzare android-latest-release anziché aosp-main per compilare e contribuire ad AOSP. Per ulteriori informazioni, vedi Modifiche ad AOSP.
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Il design Material You è stato lanciato con la release di Android 12 e ampliato con Android 13.
Questa pagina si concentra sugli aggiornamenti della logica di Material You per aiutarti a eseguire l'integrazione con un supporto più completo dei colori dinamici.
Tavolozze di tonalità dei colori dinamiche
A partire da Android 12, sono supportate le seguenti tavolozze di colori dinamici:
Ognuno di questi è costituito da un insieme di 13 colori con vari valori di luminanza definiti come descritto in R.color, ma con valori di tonalità e crominanza indefiniti che possono essere generati dinamicamente dal sistema Android in fase di esecuzione.
Stili del tema per il colore dinamico
A partire da Android 13, sono supportati sei diversi stili di temi con variazioni dell'algoritmo dei colori dinamici che soddisfano le esigenze degli sviluppatori e contrastano le aspettative. Questi sono elencati per generare i
65 colori dinamici utilizzati dalle app:
TONAL_SPOT è una tavolozza di media vivacità che utilizza un colore system_accent3_0 simile al colore system_accent1_0 (trasportato dalla release di Android 12 e leggermente modificato).
VIBRANT è una tavolozza ad alta vivacità che mescola armoniosamente lievi variazioni tra i colori.
EXPRESSIVE è una tavolozza ad alta vivacità che abbina colori di accento inaspettati e unici.
SPRITZ è una tavolozza dai colori poco vivaci che crea una sfumatura delicata tra i colori.
RAINBOW utilizza sia accenti cromatici che superfici neutre per creare un'esperienza di colore più discreta per gli utenti.
NON È CONSIGLIATO l'utilizzo con l'estrazione dei colori basata sullo sfondo e deve essere utilizzato invece con temi di colori statici.
FRUIT_SALAD offre colori bitonali per dare agli utenti più espressività.
NON È CONSIGLIATO l'utilizzo con l'estrazione dei colori basata sullo sfondo e deve essere utilizzato invece con temi di colori statici.
Il tema di sistema è basato sulla stessa impostazione di Android 12, ovvero Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES. Per Android
13, richiede una sola chiave nel JSON che invia il colore di origine per generare le 65 tavolozze di colori:
Lo stile del tema predefinito è TONAL_SPOT, ma facoltativamente puoi specificare uno degli altri stili del tema con una chiave aggiuntiva nel JSON riportato sopra:
Ogni tavolozza di tonalità ha 13 valori di colore che terminano con gli indici 0, 10, 50, 100,
200, 300, 400, 500, 600, 700, 800, 900 e 1000.
L'API risultante è una combinazione del nome della tavolozza di tonalità, che termina con l'indice. Ad esempio:
R.color#system_accent1_10
Come viene generata una tavolozza di tonalità dinamica?
Una tavolozza di tonalità dinamica deve essere generata da un singolo colore di origine che deve essere ricavato dallo sfondo utilizzando com.android.systemui.monet.ColorScheme#getSeedColors, che fornisce più colori di origine validi. Se nessuno dei colori forniti soddisfa il requisito del colore di origine, il singolo colore di origine deve utilizzare il valore 0xFF1B6EF3.
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-08-24 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 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`."]]