Dynamiczny kolor

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

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 .