Kolory dynamiczne

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_SPOT to paleta o średniej intensywności, która używa koloru system_accent3_0 analogicznego do koloru system_accent1_0 (przeniesionego z Androida 12 i nieznacznie zmodyfikowanego).
  • VIBRANT to paleta o wysokiej intensywności, która harmonijnie łączy subtelne przejścia między kolorami.
  • EXPRESSIVE to paleta o wysokiej intensywności, która łączy nieoczekiwane i unikalne kolory akcentów.
  • SPRITZ to paleta o niskiej intensywności, która tworzy delikatne przejścia między kolorami.
  • RAINBOW uż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_SALAD udostę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?

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.