Projekt Material You został wprowadzony wraz z Androidem 12, a potem rozszerzony w Androidzie 13.
Ta strona dotyczy aktualizacji logiki Material You, które ułatwiają integrację z bardziej rozbudowaną obsługą kolorów dynamicznych.
dynamiczne palety barw,
Od Androida 12 obsługiwane są te dynamiczne palety barw:
Każdy z nich składa się z zestawu 13 kolorów z zdefiniowanymi różnymi wartościami luminancji, jak opisano w artykule R.color
, ale z niezdefiniowanymi wartościami odcienia i chromatyczności, które mogą być dynamicznie generowane przez system Android w czasie wykonywania.
Style motywu dla koloru dynamicznego
Od Androida 13 obsługiwanych jest 6 różnych stylów motywów z wariantami algorytmu dynamicznych kolorów, które spełniają potrzeby deweloperów i oczekywania dotyczące kontrastu. Te kolory są używane do generowania 65 dynamicznych kolorów używanych przez aplikacje:
TONAL_SPOT
to paleta o średniej intensywności, która zawiera kolorsystem_accent3_0
podobny do kolorusystem_accent1_0
(przeniesiony z wersji Androida 12 i nieznacznie zmieniony).VIBRANT
to paleta żywych kolorów, w której subtelnie przechodzą one w siebie.EXPRESSIVE
to paleta o wysokiej intensywności, która łączy nieoczekiwane i niepowtarzalne akcenty kolorów.SPRITZ
to paleta o niskiej intensywności, która tworzy łagodne przejścia między kolorami.RAINBOW
używa zarówno akcentów chromatycznych, jak i neutralnych powierzchni, aby zapewnić użytkownikom subtelniejsze wrażenia kolorystyczne.- NIE POLECAMY stosowania tej metody do wyodrębniania kolorów z tapety. Zamiast tego należy używać statycznych motywów kolorów.
FRUIT_SALAD
udostępnia 2 kolory tonu, aby umożliwić użytkownikom większą swobodę wyrażania siebie.- NIE POLECAMY stosowania tej metody do wyodrębniania kolorów z tapety. Zamiast tego należy używać statycznych motywów kolorów.
Motyw systemu jest określany przez to samo ustawienie, co w Androidzie 12, czyli Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES
. W przypadku Androida 13 wymagany jest tylko 1 klucz w pliku JSON, który wysyła kolor źródłowy, aby wygenerować 65 palet kolorów:
{
"android.theme.customization.system_palette":"746BC1"
}
Domyślny styl motywu to TONAL_SPOT
, ale możesz opcjonalnie określić jeden z pozostałych stylów motywu za pomocą dodatkowego klucza w powyższym kodzie JSON:
{
"android.theme.customization.system_palette":"746BC1"
"android.theme.customization.theme_style":"EXPRESSIVE"
}
Integracja kolorów dynamicznych
Wytyczne dotyczące integracji dynamicznych kolorów znajdziesz w artykule Integracja interfejsu Material You.
Najczęstsze pytania
Co zawiera interfejs API dynamicznej palety barw?
Dostępnych jest 5 palet barw:
Każda paleta tonalna ma 13 wartości kolorów, które kończą się indeksami 0, 10, 50, 100, 200, 300, 400, 500, 600, 700, 800, 900 i 1000.
Wygenerowany interfejs API to kombinacja nazwy palety barw tonalnych zakończona indeksem. Na przykład:
R.color#system_accent1_10
Jak generowana jest dynamiczna paleta barw?
Dynamiczna paleta tonalna musi być generowana na podstawie jednego koloru źródłowego, który powinien być wyprowadzony z tapety za pomocą funkcji com.android.systemui.monet.ColorScheme#getSeedColors
, która zapewnia 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, należy użyć wartości 0xFF1B6EF3
.