Colore dinamico

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 colore system_accent3_0 analogo al colore system_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.
  • RAINBOW utilizza 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_SALAD fornisce 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?

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.