Material You design został wydany w wersji Android 12 i rozszerzony o Androida 13.
Na tej stronie skupiono się na aktualizacjach logiki Material You, które pomogą Ci zintegrować się z bogatszą obsługą dynamicznych kolorów.
Dynamiczne palety tonalne kolorów
Począwszy od systemu Android 12 obsługiwane są następujące dynamiczne palety tonów kolorów:
Każdy z nich składa się z zestawu 13 kolorów o zdefiniowanych różnych wartościach luminancji zgodnie z opisem w R.color
, ale o niezdefiniowanych wartościach barwy i nasycenia, które mogą być dynamicznie generowane przez system Android w czasie wykonywania.
Style motywów dla dynamicznych kolorów
Począwszy od Androida 13, obsługiwanych jest sześć różnych stylów motywów z odmianami algorytmu dynamicznego koloru, które odpowiadają potrzebom programistów i oczekiwaniom kontrastu. Są one wymienione w celu generowania 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 wersji Androida 12 i nieco dostosowany). -
VIBRANT
to paleta o dużej intensywności, która harmonijnie łączy subtelne przejścia między kolorami. -
EXPRESSIVE
to paleta o dużej intensywności, która łączy w sobie nieoczekiwane i niepowtarzalne akcenty kolorystyczne. -
SPRITZ
to paleta o niskiej intensywności, która tworzy miękkie rozmycie pomiędzy kolorami. -
RAINBOW
wykorzystuje zarówno akcenty chromatyczne, jak i neutralne powierzchnie, aby zapewnić użytkownikom bardziej subtelne wrażenia kolorystyczne.- NIE ZALECA SIĘ stosowania tej opcji w przypadku ekstrakcji kolorów w oparciu o tapetę. Zamiast tego należy jej używać w przypadku statycznych motywów kolorystycznych.
-
FRUIT_SALAD
oferuje dwa odcienie kolorów , aby zapewnić użytkownikom większą ekspresję.- NIE ZALECA SIĘ stosowania tej opcji w przypadku ekstrakcji kolorów w oparciu o tapetę. Zamiast tego należy jej używać w przypadku statycznych motywów kolorystycznych.
Motyw systemu opiera się na tym samym ustawieniu, co w Androidzie 12, czyli Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES
. W przypadku Androida 13 wymagany jest tylko jeden klucz w formacie JSON, który wysyła kolor źródłowy w celu wygenerowania 65 palet kolorów:
{
"android.theme.customization.system_palette":"746BC1"
}
Domyślny styl motywu to TONAL_SPOT
, ale opcjonalnie możesz określić jeden z pozostałych stylów motywu za pomocą dodatkowego klucza z powyższym kodem JSON:
{
"android.theme.customization.system_palette":"746BC1"
"android.theme.customization.theme_style":"EXPRESSIVE"
}
Integracja dynamicznego koloru
Wskazówki dotyczące integrowania dynamicznych kolorów można znaleźć w sekcji Integrowanie projektowanego materiału .
Często zadawane pytania (FAQ)
Co zawiera API dynamicznej palety tonalnej?
Istnieje pięć palet tonalnych:
Każda paleta tonalna ma 13 wartości kolorów kończących się indeksami 0, 10, 50, 100, 200, 300, 400, 500, 600, 700, 800, 900 i 1000.
Wynikowy interfejs API jest kombinacją nazwy palety tonalnej zakończonej indeksem. Na przykład:
R.color#system_accent1_10
Jak generowana jest dynamiczna paleta tonalna?
Dynamiczną paletę tonalną należy wygenerować z jednego koloru źródłowego, który powinien zostać uzyskany z tapety przy użyciu com.android.systemui.monet.ColorScheme#getSeedColors
, który 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, pojedynczy kolor źródłowy powinien mieć wartość 0xFF1B6EF3
.