Interfejs Material You został wprowadzony w Androidzie 12 i rozszerzony w Androidzie 13.
Ta strona zawiera informacje o aktualizacjach logiki Material You, które pomogą Ci zintegrować się z bogatszą obsługą dynamicznych kolorów.
Palety tonalne dynamicznych kolorów
Od Androida 12 obsługiwane są te palety tonalne dynamicznych kolorów:
Każda z nich zawiera zestaw 13 kolorów o zdefiniowanych różnych wartościach luminancji
jak opisano w
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 wariantami algorytmu dynamicznych kolorów, które uwzględniają potrzeby deweloperów i oczekiwania dotyczące kontrastu. Służą one do generowania 65 dynamicznych kolorów używanych przez aplikacje:
TONAL_SPOTto paleta o średniej intensywności, która używa kolorusystem_accent3_0analogicznego do kolorusystem_accent1_0(przeniesionego z Androida 12 i nieznacznie zmodyfikowanego).VIBRANTto paleta o wysokiej intensywności, która harmonijnie łączy subtelne przejścia między kolorami.EXPRESSIVEto paleta o wysokiej intensywności, która łączy nieoczekiwane i unikalne kolory akcentów.SPRITZto paleta o niskiej intensywności, która tworzy delikatne przejścia między kolorami.RAINBOWużywa zarówno chromatycznych akcentów, jak i neutralnych powierzchni, aby zapewnić użytkownikom bardziej subtelne wrażenia kolorystyczne.- NIE ZALECA SIĘ używania tej palety z wyodrębnianiem kolorów na podstawie tapety. Zamiast tego należy używać statycznych motywów kolorystycznych.
FRUIT_SALADudostępnia 2 kolory, aby zapewnić użytkownikom większą swobodę wyrażania się.- NIE ZALECA SIĘ używania tej palety 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 Androidzie 13 wymaga ono 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 opcjonalnie określić jeden z pozostałych stylów motywu za pomocą dodatkowego klucza w powyższym pliku JSON:
{
"android.theme.customization.system_palette":"746BC1"
"android.theme.customization.theme_style":"EXPRESSIVE"
}
Integracja dynamicznych kolorów
Wskazówki dotyczące integracji dynamicznych kolorów znajdziesz w artykule Integracja interfejsu Material You Design.
Najczęstsze pytania
Co zawiera interfejs API palety tonalnej dynamicznych kolorów?
Dostępnych jest 5 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 połączeniem nazwy palety tonalnej i indeksu. Przykład:
R.color#system_accent1_10
Jak generowana jest paleta tonalna dynamicznych kolorów?
Paleta tonalna dynamicznych kolorów musi być generowana na podstawie jednego koloru źródłowego, który powinien być wyodrębniony z tapety za pomocą funkcji com.android.systemui.monet.ColorScheme#getSeedColors. Zapewnia ona 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.