Warna dinamis

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 tonal warna dinamis

Mulai Android 12, palet tonal warna dinamis berikut didukung:

Masing-masing terdiri dari kumpulan 13 warna dengan berbagai nilai luminans yang ditentukan seperti yang dijelaskan pada R.color, tetapi dengan nilai hue dan kroma yang tidak ditentukan yang dapat dihasilkan secara dinamis oleh sistem Android pada 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 cerah sedang yang menggunakan warna system_accent3_0 yang serupa dengan warna system_accent1_0 (dibawa dari rilis Android 12 dan sedikit disesuaikan).
  • VIBRANT adalah palet dengan vibrasi tinggi yang memadukan pergeseran halus antara warna secara harmonis.
  • 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 dua warna nuansa untuk memberikan lebih banyak ekspresi kepada pengguna.
    • 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, ini hanya memerlukan satu kunci pada JSON-nya yang mengirimkan warna sumber untuk membuat 65 palet warna:

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

Gaya tema default adalah TONAL_SPOT, tetapi Anda dapat menentukan salah satu gaya tema lainnya dengan kunci tambahan dengan JSON di atas:

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

Mengintegrasikan warna dinamis

Untuk panduan tentang cara mengintegrasikan warna dinamis, lihat Mengintegrasikan Desain Material You.

Pertanyaan Umum (FAQ)

Apa yang disertakan dalam API palet tonal dinamis?

Bagaimana cara membuat palet tone dinamis?

Palet tone 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.