Colore dinamico

Il design Material You è stato lanciato con la release di Android 12 ed è stato 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ù ricco dei colori dinamici.

Tavolozze tonali di colori dinamici

A partire da Android 12, sono supportate le seguenti tavolozze tonali di colori dinamici:

Ognuno di questi è composto 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 il colore dinamico

A partire da Android 13, sono supportati sei diversi stili di temi con variazioni dell'algoritmo di colore dinamico che mantengono le esigenze degli sviluppatori e le aspettative di contrasto. Questi vengono elencati per generare il colore dinamico 65 utilizzato dalle app:

  • TONAL_SPOT è una tavolozza di media intensità 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 intensità che combina armoniosamente lievi variazioni tra i colori.
  • EXPRESSIVE è una tavolozza dai colori vivaci che abbina colori accento inaspettati e unici.
  • SPRITZ è una tavolozza a bassa intensità che crea una sfumatura morbida tra i colori.
  • RAINBOW utilizza accenti cromatici e superfici neutre per creare un'esperienza cromatica più delicata per gli utenti.
    • NON È CONSIGLIATO l'utilizzo con l'estrazione dei colori basata sullo sfondo, ma è preferibile utilizzarlo con temi di colore statici.
  • FRUIT_SALAD offre colori bitonali per dare agli utenti più possibilità di espressione.
    • NON È CONSIGLIATO l'utilizzo con l'estrazione dei colori basata sullo sfondo, ma è preferibile utilizzarlo con temi di colore statici.

Il tema di sistema è determinato dalla stessa impostazione di Android 12, ovvero Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES. Per Android 13, è necessaria una sola chiave nel file 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 precedente:

{
    "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 Integrazione del design Material You.

Domande frequenti

Cosa include l'API per la 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.