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 tonalità di colore dinamiche:
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 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 coloresystem_accent3_0
analogo al coloresystem_accent1_0
(trasportato dalla release di Android 12 e leggermente modificato).VIBRANT
è una tavolozza ad alta vivacità che mescola armoniosamente lievi variazioni di colore.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, è necessaria una sola chiave nel JSON che invii 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 facoltativamente puoi specificare uno degli altri stili del tema con una chiave aggiuntiva nel JSON riportato sopra:
{
"android.theme.customization.system_palette":"746BC1"
"android.theme.customization.theme_style":"EXPRESSIVE"
}
Integrazione del colore dinamico
Per le linee guida sull'integrazione del colore dinamico, consulta Integrare il design Material You.
Domande frequenti
Cosa include l'API Tavolozza di tonalità dinamica?
Esistono cinque tavolozze di tonalità:
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 generato un pallet tonale dinamico?
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
.