Material You Design è stato lanciato con la versione Android 12 e ampliato con Android 13.
Questa pagina si concentra sugli aggiornamenti alla logica Material You per aiutarti a integrarti con un supporto di colori dinamici più ricco.
Tavolozze tonali di colore dinamiche
A partire da Android 12, sono supportate le seguenti tavolozze tonali di colore dinamiche:
Ognuno di essi comprende un set 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 runtime.
Stili del tema per colori dinamici
A partire da Android 13, sono supportati sei diversi stili di temi con variazioni sull'algoritmo del colore dinamico 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
(riportato dalla versione Android 12 e leggermente modificato). -
VIBRANT
è una tavolozza ad alta vivacità che fonde armoniosamente il sottile cambiamento tra i colori. -
EXPRESSIVE
è una tavolozza ad alta vivacità che abbina insieme colori accenti inaspettati e unici. -
SPRITZ
è una tavolozza a bassa vivacità che crea un morbido lavaggio tra i colori. -
RAINBOW
utilizza sia accenti cromatici che superfici neutre per creare un'esperienza cromatica più delicata per gli utenti.- L'utilizzo NON È CONSIGLIATO con l'estrazione del colore basata sullo sfondo e deve essere invece utilizzato con temi di colore statici.
-
FRUIT_SALAD
fornisce due tonalità di colore per dare agli utenti più espressione.- L'utilizzo NON È CONSIGLIATO con l'estrazione del colore basata sullo sfondo e deve essere invece utilizzato con temi di colore statici.
Il tema di sistema è gestito dalla stessa impostazione di Android 12, ovvero Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES
. Per Android 13, è necessaria una sola chiave sul suo JSON che invia il colore sorgente per generare le 65 tavolozze di colori:
{
"android.theme.customization.system_palette":"746BC1"
}
Lo stile del tema predefinito è TONAL_SPOT
, ma puoi facoltativamente specificare uno degli altri stili del tema con una chiave aggiuntiva con il JSON sopra:
{
"android.theme.customization.system_palette":"746BC1"
"android.theme.customization.theme_style":"EXPRESSIVE"
}
Integrazione del colore dinamico
Per linee guida sull'integrazione del colore dinamico, vedere Integrazione del materiale progettato .
Domande frequenti (FAQ)
Cosa include l'API della tavolozza tonale dinamica?
Sono disponibili cinque tavolozze tonali:
Ciascuna 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 sorgente che dovrebbe essere derivato dallo sfondo utilizzando com.android.systemui.monet.ColorScheme#getSeedColors
, che fornisce più colori sorgente validi. Se nessuno dei colori forniti soddisfa i requisiti del colore di origine, il singolo colore di origine deve utilizzare il valore 0xFF1B6EF3
.