Couleur dynamique

La conception Material You a été lancée avec la version Android 12 et étendue avec Android 13.

Cette page se concentre sur les mises à jour de la logique Material You pour vous aider à intégrer une prise en charge de couleurs dynamiques plus riches.

Palettes de couleurs dynamiques

À partir d’Android 12, les palettes de couleurs dynamiques suivantes sont prises en charge :

Chacun d'entre eux comprend un ensemble de 13 couleurs avec diverses valeurs de luminance définies comme décrit dans R.color , mais avec des valeurs de teinte et de chrominance non définies qui peuvent être générées dynamiquement par le système Android au moment de l'exécution.

Styles de thème pour des couleurs dynamiques

À partir d’Android 13, six styles de thème différents sont pris en charge avec des variations sur l’algorithme de couleurs dynamiques qui répondent aux besoins des développeurs et aux attentes en matière de contraste. Celles-ci sont répertoriées pour générer les 65 couleurs dynamiques utilisées par les applications :

  • TONAL_SPOT est une palette de vibration moyenne qui utilise une couleur system_accent3_0 analogue à la couleur system_accent1_0 (reprise de la version Android 12 et légèrement ajustée).
  • VIBRANT est une palette très vibrante qui mélange harmonieusement des changements subtils entre les couleurs.
  • EXPRESSIVE est une palette très vibrante qui associe des couleurs d'accents inattendues et uniques.
  • SPRITZ est une palette peu vibrante qui crée un doux lavage entre les couleurs.
  • RAINBOW utilise à la fois des accents chromatiques et des surfaces neutres pour créer une expérience de couleur plus subtile pour les utilisateurs.
    • Il n'est PAS RECOMMANDÉ de l'utiliser avec une extraction de couleurs basée sur un papier peint et doit plutôt être utilisé avec des thèmes de couleurs statiques.
  • FRUIT_SALAD propose deux couleurs pour donner aux utilisateurs plus d'expression.
    • Il n'est PAS RECOMMANDÉ de l'utiliser avec une extraction de couleurs basée sur un papier peint et doit plutôt être utilisé avec des thèmes de couleurs statiques.

Le thème système est piloté par le même paramètre que dans Android 12, à savoir Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES . Pour Android 13, il ne nécessite qu'une seule clé sur son JSON qui envoie la couleur source pour générer les 65 palettes de couleurs :

{
    "android.theme.customization.system_palette":"746BC1"
}

Le style de thème par défaut est TONAL_SPOT , mais vous pouvez éventuellement spécifier l'un des autres styles de thème avec une clé supplémentaire avec le JSON ci-dessus :

{
    "android.theme.customization.system_palette":"746BC1"
    "android.theme.customization.theme_style":"EXPRESSIVE"
}

Intégration de couleurs dynamiques

Pour obtenir des instructions sur l'intégration de couleurs dynamiques, voir Intégration du matériau que vous concevez .

Foire aux questions (FAQ)

Que comprend l'API de la palette de tons dynamique ?

Comment est générée une palette tonale dynamique ?

Une palette tonale dynamique doit être générée à partir d'une couleur source unique qui doit être dérivée du papier peint à l'aide de com.android.systemui.monet.ColorScheme#getSeedColors , qui fournit plusieurs couleurs sources valides. Si aucune des couleurs fournies ne répond aux exigences de couleur source, la couleur source unique doit utiliser la valeur 0xFF1B6EF3 .