Material You tasarımı Android 12 sürümüyle kullanıma sunuldu ve Android 13 ile genişletildi.
Bu sayfa, daha zengin dinamik renk desteğiyle entegrasyon yapmanıza yardımcı olacak Material You mantığındaki güncellemelere odaklanmaktadır.
Dinamik renk tonu paletleri
Android 12'den itibaren aşağıdaki dinamik renk tonu paletleri desteklenmektedir:
Bunların her biri, R.color
açıklandığı gibi tanımlanmış çeşitli parlaklık değerlerine sahip, ancak çalışma zamanında Android sistemi tarafından dinamik olarak oluşturulabilen tanımlanmamış renk tonu ve kroma değerlerine sahip 13 renkten oluşan bir gruptan oluşur.
Dinamik renk için tema stilleri
Android 13'ten başlayarak, geliştiricinin ihtiyaçlarını ve kontrast beklentilerini koruyan dinamik renk algoritmasındaki varyasyonlarla altı farklı tema stili destekleniyor. Bunlar, uygulamalar tarafından kullanılan 65 dinamik rengi oluşturmak için listelenmiştir:
-
TONAL_SPOT
,system_accent3_0
rengine benzer birsystem_accent1_0
rengini kullanan (Android 12 sürümünden aktarılan ve biraz ayarlanan) orta canlılıkta bir palettir. -
VIBRANT
, renkler arasındaki ince geçişleri uyumlu bir şekilde harmanlayan, yüksek canlılığa sahip bir palettir. -
EXPRESSIVE
, beklenmedik ve benzersiz vurgu renklerini bir araya getiren yüksek canlılığa sahip bir palettir. -
SPRITZ
renkler arasında yumuşak bir geçiş yaratan, düşük canlılığa sahip bir palettir. -
RAINBOW
kullanıcılara daha incelikli bir renk deneyimi yaratmak için hem kromatik vurguları hem de nötr yüzeyleri kullanıyor.- Bunun, duvar kağıdı tabanlı renk çıkarımıyla kullanılması ÖNERİLMEZ ; bunun yerine statik renk temalarıyla kullanılması gerekir.
-
FRUIT_SALAD
kullanıcılara daha fazla ifade sağlamak için iki tonlu renk sunar.- Bunun, duvar kağıdı tabanlı renk çıkarımıyla kullanılması ÖNERİLMEZ ; bunun yerine statik renk temalarıyla kullanılması gerekir.
Sistem teması, Android 12'dekiyle aynı ayar olan Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES
tarafından yönlendirilir. Android 13 için, JSON'unda 65 renk paletini oluşturmak üzere kaynak rengi gönderen yalnızca bir anahtar gerekir:
{
"android.theme.customization.system_palette":"746BC1"
}
Varsayılan tema stili TONAL_SPOT
, ancak isteğe bağlı olarak diğer tema stillerinden birini yukarıdaki JSON ile ek bir anahtarla belirtebilirsiniz:
{
"android.theme.customization.system_palette":"746BC1"
"android.theme.customization.theme_style":"EXPRESSIVE"
}
Dinamik rengi entegre etme
Dinamik rengi entegre etmeye ilişkin yönergeler için bkz. Tasarladığınız Malzemeyi Entegre Etme .
Sık sorulan sorular (SSS)
Dinamik ton paleti API'si neler içerir?
Beş ton paleti vardır:
Her ton paletinde 0, 10, 50, 100, 200, 300, 400, 500, 600, 700, 800, 900 ve 1000 indeksleriyle biten 13 renk değeri bulunur.
Ortaya çıkan API, dizinde biten ton paleti adının birleşimidir. Örneğin:
R.color#system_accent1_10
Dinamik bir ton paleti nasıl oluşturulur?
Birden fazla geçerli kaynak renk sağlayan com.android.systemui.monet.ColorScheme#getSeedColors
kullanılarak duvar kağıdından türetilmesi gereken tek bir kaynak renkten dinamik bir ton paleti oluşturulmalıdır. Sağlanan renklerden hiçbiri kaynak renk gereksinimini karşılamıyorsa tek kaynak renk, 0xFF1B6EF3
değerini kullanmalıdır.