Wzornictwo Material You zostało wprowadzone wraz z Androidem 12 i rozszerzone w Androidzie 13.
Na tej stronie znajdziesz informacje o zmianach w logice Material You, które pomogą Ci zintegrować aplikację z bogatszą obsługą dynamicznych kolorów.
Palety kolorów dynamicznych
Od Androida 12 obsługiwane są te dynamiczne palety kolorów:
Każda z nich składa się z 13 kolorów o różnych wartościach luminancji, zgodnie z opisem na stronie R.color
, ale z niezdefiniowanymi wartościami odcienia i chromatyczności, które mogą być dynamicznie generowane przez system Android w czasie działania.
Style motywów dla dynamicznych kolorów
Od Androida 13 obsługiwanych jest 6 różnych stylów motywów z odmianami algorytmu dynamicznych kolorów, które spełniają potrzeby deweloperów i oczekiwania dotyczące kontrastu. Są one wymienione w celu wygenerowania 65 dynamicznych kolorów używanych przez aplikacje:
TONAL_SPOT
to paleta o średniej intensywności, która wykorzystuje kolorsystem_accent3_0
analogiczny do kolorusystem_accent1_0
(przeniesiony z Androida 12 i nieznacznie zmodyfikowany).VIBRANT
to paleta o wysokiej intensywności, która harmonijnie łączy subtelne zmiany kolorów.EXPRESSIVE
to paleta o wysokiej intensywności, która łączy nieoczekiwane i wyjątkowe kolory akcentujące.SPRITZ
to paleta o niskiej intensywności, która tworzy delikatne przejścia między kolorami.RAINBOW
wykorzystuje zarówno akcenty chromatyczne, jak i neutralne powierzchnie, aby zapewnić użytkownikom bardziej subtelne wrażenia kolorystyczne.- NIE ZALECA SIĘ używania tej funkcji z wyodrębnianiem kolorów na podstawie tapety. Zamiast tego należy używać statycznych motywów kolorystycznych.
FRUIT_SALAD
oferuje dwutonowe kolory, aby zapewnić użytkownikom większą swobodę wyrażania siebie.- NIE ZALECA SIĘ używania tej funkcji z wyodrębnianiem kolorów na podstawie tapety. Zamiast tego należy używać statycznych motywów kolorystycznych.
Motyw systemowy jest określany przez to samo ustawienie co w Androidzie 12, czyli Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES
. W przypadku Androida 13 wymaga tylko jednego klucza w pliku JSON, który wysyła kolor źródłowy do wygenerowania 65 palet kolorów:
{
"android.theme.customization.system_palette":"746BC1"
}
Domyślny styl motywu to TONAL_SPOT
, ale możesz też określić jeden z pozostałych stylów motywu, dodając dodatkowy klucz z powyższym kodem JSON:
{
"android.theme.customization.system_palette":"746BC1"
"android.theme.customization.theme_style":"EXPRESSIVE"
}
Integracja dynamicznych kolorów
Wytyczne dotyczące integrowania dynamicznych kolorów znajdziesz w artykule Integrowanie projektu Material You.
Najczęstsze pytania
Co zawiera interfejs Dynamic Tonal Palette API?
Dostępnych jest 5 palet tonalnych:
Każda paleta tonalna ma 13 wartości kolorów z indeksami 0, 10, 50, 100, 200, 300, 400, 500, 600, 700, 800, 900 i 1000.
Wynikowy interfejs API to połączenie nazwy palety tonalnej zakończonej indeksem. Na przykład:
R.color#system_accent1_10
Jak generowana jest dynamiczna paleta kolorów?
Dynamiczna paleta kolorów musi być generowana na podstawie jednego koloru źródłowego, który powinien pochodzić z tapety przy użyciu funkcji com.android.systemui.monet.ColorScheme#getSeedColors
, która udostępnia wiele prawidłowych kolorów źródłowych. Jeśli żaden z podanych kolorów nie spełnia wymagań dotyczących koloru źródłowego, pojedynczy kolor źródłowy powinien mieć wartość 0xFF1B6EF3
.