Il design Material You è stato lanciato con la release di Android 12 ed è stato ampliato con Android 13.
Questa pagina è incentrata sugli aggiornamenti della logica di Material You per aiutarti a integrare un supporto più completo per i colori dinamici.
Tavolozze tonali dei colori dinamici
A partire da Android 12, sono supportate le seguenti tavolozze tonali dei colori dinamici:
Ognuna di queste è composta da un insieme di 13 colori con vari valori di luminanza definiti come descritto in
R.color,
ma con valori di tonalità e croma non definiti che possono essere generati dinamicamente dal sistema Android in fase di runtime.
Stili dei temi per i colori dinamici
A partire da Android 13, sono supportati sei stili di temi diversi con variazioni dell'algoritmo dei colori dinamici che soddisfano le esigenze degli sviluppatori e le aspettative di contrasto. Questi vengono elencati per la generazione dei 65 colori dinamici utilizzati dalle app:
TONAL_SPOTè una tavolozza a media vivacità che utilizza un coloresystem_accent3_0analogo al coloresystem_accent1_0(riportato dalla release di Android 12 e leggermente modificato).VIBRANTè una tavolozza ad alta vivacità che combina armoniosamente un leggero spostamento tra i colori.EXPRESSIVEè una tavolozza ad alta vivacità che combina colori di accento inaspettati e unici.SPRITZè una tavolozza a bassa vivacità che crea una leggera sfumatura tra i colori.RAINBOWutilizza sia accenti cromatici sia superfici neutre per creare un'esperienza di colore più discreta per gli utenti.- L'utilizzo di questa tavolozza NON È CONSIGLIATO con l'estrazione dei colori basata sullo sfondo, ma con i temi di colori statici.
FRUIT_SALADfornisce colori a due tonalità per offrire agli utenti una maggiore espressività.- L'utilizzo di questa tavolozza NON È CONSIGLIATO con l'estrazione dei colori basata sullo sfondo, ma con i temi di colori statici.
Il tema di sistema è determinato dalla 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:
{
"android.theme.customization.system_palette":"746BC1"
}
Lo stile del tema predefinito è TONAL_SPOT, ma puoi specificare facoltativamente uno degli altri stili del tema con una chiave aggiuntiva nel JSON sopra riportato:
{
"android.theme.customization.system_palette":"746BC1"
"android.theme.customization.theme_style":"EXPRESSIVE"
}
Integrare i colori dinamici
Per le linee guida sull'integrazione dei colori dinamici, consulta Integrare il design Material You Design.
Domande frequenti
Che cosa include l'API della tavolozza tonale dinamica?
Esistono cinque tavolozze tonali:
Ogni tavolozza tonale 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 tonale, che termina con l'indice. Ad esempio:
R.color#system_accent1_10
Come viene generata una tavolozza tonale dinamica?
Una tavolozza tonale dinamica deve essere generata da un singolo colore di origine che deve essere derivato 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.