Kolory dynamiczne

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 kolor system_accent3_0 analogiczny do koloru system_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?

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.