Mulai 27 Maret 2025, sebaiknya gunakan android-latest-release, bukan aosp-main, untuk mem-build dan berkontribusi pada AOSP. Untuk mengetahui informasi selengkapnya, lihat Perubahan pada AOSP.
Masing-masing terdiri dari kumpulan 13 warna dengan berbagai nilai luminans
yang ditentukan seperti yang dijelaskan di
R.color,
tetapi dengan nilai hue dan chroma yang tidak ditentukan yang dapat dihasilkan secara dinamis oleh
sistem Android saat runtime.
Gaya tema untuk warna dinamis
Mulai Android 13, enam gaya tema
yang berbeda didukung dengan variasi pada algoritma warna dinamis yang mempertahankan
kebutuhan developer dan ekspektasi kontras. Ini tercantum untuk menghasilkan
65 warna dinamis yang digunakan oleh aplikasi:
TONAL_SPOT adalah palet dengan vibrasi sedang yang menggunakan warna system_accent3_0
yang analog dengan warna system_accent1_0 (dibawa dari rilis Android 12
dan sedikit disesuaikan).
VIBRANT adalah palet dengan vibrasi tinggi yang secara harmonis memadukan perubahan
halus antarwarna.
EXPRESSIVE adalah palet dengan vibrasi tinggi yang menggabungkan warna aksen yang tidak terduga dan unik.
SPRITZ adalah palet dengan vibrasi rendah yang menciptakan sapuan lembut di antara warna.
RAINBOW menggunakan aksen kromatik dan permukaan netral untuk menciptakan pengalaman warna yang lebih
halus bagi pengguna.
Ini TIDAK DISARANKAN untuk digunakan dengan ekstraksi warna
berbasis wallpaper dan sebaiknya digunakan dengan tema warna statis.
FRUIT_SALAD menyediakan warna dua tone untuk memberi pengguna lebih banyak ekspresi.
Ini TIDAK DISARANKAN untuk digunakan dengan ekstraksi warna
berbasis wallpaper dan sebaiknya digunakan dengan tema warna statis.
Tema sistem didorong oleh setelan yang sama seperti di Android 12,
yaitu Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES. Untuk Android
13, hanya memerlukan satu kunci di JSON-nya yang mengirimkan
warna sumber untuk menghasilkan 65 palet warna:
Setiap palet tonal memiliki 13 nilai warna yang diakhiri dengan indeks 0, 10, 50, 100,
200, 300, 400, 500, 600, 700, 800, 900, dan 1000.
API yang dihasilkan adalah kombinasi dari nama palet tonal, yang diakhiri dengan
indeks. Misalnya:
R.color#system_accent1_10
Bagaimana cara membuat palet tone dinamis?
Palet tonal dinamis harus dibuat dari satu warna sumber yang harus
berasal dari wallpaper menggunakan
com.android.systemui.monet.ColorScheme#getSeedColors, yang menyediakan beberapa
warna sumber yang valid. Jika tidak ada warna yang diberikan yang memenuhi persyaratan warna
sumber, satu warna sumber harus menggunakan nilai 0xFF1B6EF3.
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-08-24 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 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`."]]