À partir du 27 mars 2025, nous vous recommandons d'utiliser android-latest-release au lieu de aosp-main pour créer et contribuer à AOSP. Pour en savoir plus, consultez la section Modifications apportées à AOSP.
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
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 compatibilité plus riche avec les couleurs dynamiques.
Palettes de couleurs tonales dynamiques
À partir d'Android 12, les palettes de tons de couleurs dynamiques suivantes sont prises en charge:
Chacun d'eux comprend un ensemble de 13 couleurs avec différentes valeurs de luminance définies, comme décrit dans R.color, mais avec des valeurs de teinte et de chroma 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 la couleur dynamique
À partir d'Android 13, six styles de thème différents sont pris en charge avec des variations de l'algorithme de couleur dynamique qui répondent aux besoins des développeurs et aux attentes en termes de contraste. Ils sont listés pour générer les 65 couleurs dynamiques utilisées par les applications:
TONAL_SPOT est une palette de couleurs moyennement lumineuse qui utilise une couleur system_accent3_0 semblable à la couleur system_accent1_0 (transférée depuis la version Android 12 et légèrement ajustée).
VIBRANT est une palette très vive qui associe harmonieusement des transitions subtiles entre les couleurs.
EXPRESSIVE est une palette très vive qui associe des couleurs d'accentuation inattendues et uniques.
SPRITZ est une palette peu vive qui crée un léger dégradé 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 est NON RECOMMANDÉ d'utiliser cette méthode avec l'extraction de couleurs basée sur le fond d'écran. Utilisez plutôt des thèmes de couleurs statiques.
FRUIT_SALAD propose deux tons de couleur pour offrir plus d'expressivité aux utilisateurs.
Il est NON RECOMMANDÉ d'utiliser cette méthode avec l'extraction de couleurs basée sur le fond d'écran. Utilisez plutôt des thèmes de couleurs statiques.
Le thème du système est géré par le même paramètre qu'il l'était dans Android 12, à savoir Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES. Pour Android 13, une seule clé dans le fichier JSON suffit pour envoyer la couleur source afin de générer les 65 palettes de couleurs:
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 code JSON ci-dessus:
Chaque palette tonale comporte 13 valeurs de couleur se terminant par les indices 0, 10, 50, 100, 200, 300, 400, 500, 600, 700, 800, 900 et 1 000.
L'API obtenue est une combinaison du nom de la palette tonale, se terminant par l'indice. Par exemple :
R.color#system_accent1_10
Comment une palette tonale dynamique est-elle générée ?
Une palette tonale dynamique doit être générée à partir d'une seule couleur source qui doit être dérivée du fond d'écran à 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.
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/24 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/08/24 (UTC)."],[],[],null,["# Dynamic color\n\nMaterial You design was launched with the Android 12\nrelease and expanded with Android 13.\n\nThis page focuses on updates to the Material You logic to help you integrate\nwith richer dynamic color support.\n\nDynamic color tonal palettes\n----------------------------\n\nStarting with Android 12, the following dynamic color\ntonal palettes are supported:\n\n- [`system_accent1_0`](https://developer.android.com/reference/android/R.color#system_accent1_0)\n- [`system_accent2_0`](https://developer.android.com/reference/android/R.color#system_accent2_0)\n- [`system_accent3_0`](https://developer.android.com/reference/android/R.color#system_accent3_0)\n- [`system_neutral1_0`](https://developer.android.com/reference/android/R.color#system_neutral1_0)\n- [`system_neutral2_0`](https://developer.android.com/reference/android/R.color#system_neutral2_0))\n\nEach of them comprise of a set of 13 colors with defined various luminance\nvalues as described at\n[`R.color`](https://developer.android.com/reference/android/R.color),\nbut with undefined hue and chroma values that can be dynamically generated by\nthe Android system at runtime.\n\nTheme styles for dynamic color\n------------------------------\n\nStarting with Android 13, six different theme styles\nare supported with variations on the dynamic color algorithm that maintain\ndeveloper needs and contrast expectations. These are listed for generating the\n65 dynamic color used by apps:\n\n- `TONAL_SPOT` is a mid-vibrancy palette that uses an `system_accent3_0` color analogous to the `system_accent1_0` color (carried over from the Android 12 release and slightly adjusted).\n- `VIBRANT` is a high-vibrancy palette that harmoniously blends subtle shift between colors.\n- `EXPRESSIVE` is a high-vibrancy palette that pairs unexpected and unique accents colors together.\n- `SPRITZ` is a low-vibrancy palette that creates a soft wash between colors.\n- `RAINBOW` uses both chromatic accents and neutral surfaces to create a more subtle color experience for users.\n - This is **NOT RECOMMENDED** to be used with wallpaper-based color extraction and should instead be used with static color themes.\n- `FRUIT_SALAD` provides *two tone colors* to give users more expression.\n - This is **NOT RECOMMENDED** to be used with wallpaper-based color extraction and should instead be used with static color themes.\n\nThe system theme is driven by the same setting as it was in Android 12,\nwhich is `Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES`. For Android\n13, it requires only one key on its JSON that sends the\nsource color to generate the 65 color palettes: \n\n {\n \"android.theme.customization.system_palette\":\"746BC1\"\n }\n\nThe default theme style is `TONAL_SPOT`, but you can optionally specify one of\nthe other theme styles with an additional key with the JSON above: \n\n {\n \"android.theme.customization.system_palette\":\"746BC1\"\n \"android.theme.customization.theme_style\":\"EXPRESSIVE\"\n }\n\n| **Note:** You aren't required to expose ALL of the new theme styles in your UI, and can decide which to expose based on your user/brand needs. However, dynamic color palettes **MUST** be generated through one of these theme styles as CTS-tested by `SystemPaletteTest#testThemeStyles` and mandated by CDD.\n\nIntegrating dynamic color\n-------------------------\n\nFor guidelines on integrating dynamic color, see [Integrating Material You\nDesign](/docs/core/display/material).\n\nFrequently asked questions (FAQs)\n---------------------------------\n\n### What does the dynamic tonal palette API include?\n\n- There are five tonal palettes:\n\n - [`system_accent1`](https://developer.android.com/reference/android/R.color#system_accent1_0)\n - [`system_accent2`](https://developer.android.com/reference/android/R.color#system_accent2_0)\n - [`system_accent3`](https://developer.android.com/reference/android/R.color#system_accent3_0)\n - [`system_neutral1`](https://developer.android.com/reference/android/R.color#system_neutral1_0)\n - [`system_neutral2`](https://developer.android.com/reference/android/R.color#system_neutral2_0)\n- Each tonal palette has 13 color values ending in the indexes 0, 10, 50, 100,\n 200, 300, 400, 500, 600, 700, 800, 900, and 1000.\n\n- The resulting API is a combination of the tonal palette name, ending in the\n index. For example:\n [`R.color#system_accent1_10`](https://developer.android.com/reference/android/R.color#system_accent1_10)\n\n### How is a dynamic tonal pallet generated?\n\nA dynamic tonal palette must be generated from a single source color that should\nbe derived from wallpaper using\n`com.android.systemui.monet.ColorScheme#getSeedColors`, which provides multiple\nvalid source colors. If none of the provided colors meet the source color\nrequirement, the single source color should use the value `0xFF1B6EF3`."]]