Desain Material You diluncurkan dengan rilis Android 12 dan diperluas dengan Android 13.
Halaman ini berfokus pada update pada logika Material You untuk membantu Anda berintegrasi dengan dukungan warna dinamis yang lebih kaya.
Palet tone warna dinamis
Mulai Android 12, palet warna tonal dinamis berikut didukung:
Setiap palet terdiri dari 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 dibuat 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. Berikut adalah daftar untuk membuat 65 warna dinamis yang digunakan oleh aplikasi:
TONAL_SPOT
adalah palet dengan tingkat kecerahan sedang yang menggunakan warnasystem_accent3_0
yang analog dengan warnasystem_accent1_0
(dipertahankan dari rilis Android 12 dan disesuaikan sedikit).VIBRANT
adalah palet dengan vibrasi tinggi yang memadukan pergeseran halus antarwarna secara harmonis.EXPRESSIVE
adalah palet dengan vibrasi tinggi yang memadukan warna aksen yang tidak terduga dan unik.SPRITZ
adalah palet dengan vibrasi rendah yang menciptakan nuansa lembut di antara warna.RAINBOW
menggunakan aksen kromatik dan permukaan netral untuk menciptakan pengalaman warna yang lebih halus bagi pengguna.- Penggunaan ini TIDAK DISARANKAN untuk digunakan dengan ekstraksi warna berbasis wallpaper dan sebaiknya digunakan dengan tema warna statis.
FRUIT_SALAD
menyediakan warna dua nuansa untuk memberikan lebih banyak ekspresi kepada pengguna.- Penggunaan ini TIDAK DISARANKAN untuk digunakan dengan ekstraksi warna berbasis wallpaper dan sebaiknya digunakan dengan tema warna statis.
Tema sistem didasarkan pada setelan yang sama seperti di Android 12, yaitu Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES
. Untuk Android 13, hanya diperlukan satu kunci di JSON yang mengirimkan warna sumber untuk membuat 65 palet warna:
{
"android.theme.customization.system_palette":"746BC1"
}
Gaya tema default adalah TONAL_SPOT
, tetapi Anda dapat secara opsional menentukan salah satu gaya tema lainnya dengan kunci tambahan pada JSON di atas:
{
"android.theme.customization.system_palette":"746BC1"
"android.theme.customization.theme_style":"EXPRESSIVE"
}
Mengintegrasikan warna dinamis
Untuk mengetahui panduan tentang mengintegrasikan warna dinamis, lihat Mengintegrasikan Desain Material You.
Pertanyaan Umum (FAQ)
Apa saja yang termasuk dalam Dynamic Tonal Palette API?
Ada lima palet tonal:
Setiap palet warna 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 nama palet tonal, yang diakhiri dengan indeks. Contoh:
R.color#system_accent1_10
Bagaimana cara membuat palet tone dinamis?
Palet tone dinamis harus dibuat dari satu warna sumber yang harus didapatkan dari wallpaper menggunakan
com.android.systemui.monet.ColorScheme#getSeedColors
, yang menyediakan beberapa
warna sumber yang valid. Jika tidak ada warna yang diberikan memenuhi persyaratan warna sumber, satu warna sumber harus menggunakan nilai 0xFF1B6EF3
.