Silnik motywów Material You Monet jest największą atrakcją Androida 12 i oto, jak to działa

click fraud protection

Materiał Google „Zrozumienie Ciebie” nie jest wcale takie skomplikowane, chociaż nie ma zbyt wielu informacji w jednym miejscu. Sprawdź tutaj!

Szybkie linki

  • Jak działa silnik motywu monet
  • Co się stało z nakładkami zasobów wykonawczych (RRO)?
  • Material You wciąż się udoskonala
  • Zmiany w Androidzie 13

Zdecydowanie największa zmiana w Androida 12 Jest Materialny Ty, najnowsza wersja języka Google Material Design. Materiał Ty, jak opisuje Google, „stara się tworzyć projekty, które są osobiste dla każdego stylu, dostępne dla każdej potrzeby, żywe i dostosowujące się do każdego ekranu.Opracowując Androida 12, Google stworzył nowy silnik motywów o nazwie kodowej „monet”, który generuje bogatą paletę pastelowych kolorów pochodzące z tapety użytkownika. Kolory te są następnie stosowane do różnych części systemu, a ich wartości są udostępniane za pośrednictwem pliku API, które mogą wywoływać aplikacje użytkownika, dzięki czemu aplikacje mogą decydować, czy chcą również zmienić kolor swoich plików Interfejs użytkownika. Google mocno zaangażowało się w Material You, a firma zaktualizowała większość swoich aplikacji, aby uwzględnić dynamiczne kolory.

W ramach przyspieszonego kursu historii Material Design po raz pierwszy uruchomiono system Android 5 Lollipop, z nieodłącznym naciskiem na wygodę użytkownika. Jak Google to podaje„Materiał to elastyczny system wytycznych, komponentów i narzędzi, które wspierają najlepsze praktyki projekt interfejsu użytkownika. ” Zawierał płaskie, pastelowe palety kolorów, głębię, miękkie oświetlenie i realizm fizyka. W systemie Android 9 Pie pojawiło się Material Design 2, choć nie było to tak duże zmiany wizualne, jak pierwsza iteracja Material Design. Android 12 doczekał się premiery Projektowanie materiałów 3, co jest bardziej znaczącym remontem.

Jednak usuń silnik motywów kolorystycznych, a Material You tak naprawdę nie jest To różny. Tak naprawdę element osobowy oznaczany przez „Ty” mniej więcej całkowicie zanika.

Jak działa silnik motywu monet

Silnik motywów „monet” to miejsce, w którym dzieje się magia Material You i to algorytm decyduje, jakie kolory zostaną wybrane z tapety. „Monet” został dodany do AOSP w Androidzie 12L. Twórcy niestandardowej pamięci ROM mogą również to zaimplementować open-source’owa implementacja „monet”. Zewnętrzni twórcy aplikacji są bezpłatni aby dodać obsługę dynamicznych kolorów już teraz, nawet jeśli będzie działać tylko na ograniczonej liczbie urządzeń.

Jestem pewien, że większość ludzi zadaje sobie pierwsze pytanie na temat Material You: jak udaje mu się wybrać kolory, które za każdym razem dobrze ze sobą współgrają i dobrze kontrastują. Próbowałem niezliczonych tapet z zamiarem złamania algorytmu doboru kolorów, ale żadnej z nich się to nie udało. Za każdym razem wybiera kolory, które ze sobą współgrają, co jest, delikatnie mówiąc, imponującym osiągnięciem. Aby dowiedzieć się, jak działa algorytm doboru kolorów w Androidzie 12, jeden z dwóch jajek wielkanocnych ma postać widżetu, który można dodać na pulpit. Widget pokazuje wszystkie kolory wybrane przez Moneta i możesz go dotknąć, aby wyświetlić go na pełnym ekranie. Gdy obraz jest wyświetlany na pełnym ekranie, możesz kliknąć kolor, aby go udostępnić. Po udostępnieniu wynik wygląda następująco:

A1-600 (@android:color/system_accent1_600)
currently: #626200

Gdy użytkownik zmienia tapetę na urządzeniu z Androidem 12, obraz jest analizowany w celu wybrania koloru i algorytmicznie wybieraj kolory podstawowe, drugorzędne, trzeciorzędne i błędów, używając początkowego materiału siewnego kolor. Wybrano także dwa neutralne kolory, które nadają Material You ogólny odcień. Jednocześnie stosuje teorię koloru i zasady dostępności. Na podstawie tych kolorów algorytm tworzy palety tonalne w zakresie od 0% luminancji (CZARNY) do 100% (BIAŁY). Motyw dynamiczny lub motyw niestandardowy wykorzystuje wartości z tych palet tonalnych do ustawiania atrybutów motywu dla tego zakresu kolorów. Wyodrębnia do 128 kolorów z tapety do przestrzeni barw CIELAB jako pośrednika, następnie kolory te są zmapowane do CAM16. CAM16 Ckolor Awygląd Model służy do sortowania i filtrowania kolorów w celu określenia rzeczywistego koloru początkowego, a następnie generowane są palety przy użyciu tego koloru początkowego. Następnie kolory te są ponownie mapowane do formatu RGB w celu ustawienia kolorów w całym systemie.

CIELAB jest czasami określany także jako „L*a*b*”. L* oznacza postrzeganą jasność/jasność oraz a* i b* cztery unikalne kolory ludzkiego wzroku – czerwony, zielony, niebieski i żółty. Jasność służy do obliczenia współczynnika kontrastu, gwarantującego czytelność. Po zastosowaniu otrzymasz wszystkie ładne, ogólnosystemowe kolory, które można zaimplementować w interfejsie użytkownika systemu, aplikacjach i nie tylko.

Co się stało z nakładkami zasobów wykonawczych (RRO)?

RRO nigdzie nie poszły, a Material You działa poprzez API Fabricated Overlays. W przeszłości rozmawialiśmy o jak można wykorzystać sfabrykowane nakładki, aby przywrócić motywy pozbawione korzeni. Fabricated Overlays to nowy dodatek do Androida 12, który działa nieco inaczej niż RRO. Po pierwsze, RRO pracować poprzez nakładkę APK zainstalowaną na urządzeniu, podczas gdy sfabrykowana nakładka po prostu mówi aplikacji, jakie kolory mają mieć używać.

Sfabrykowane nakładki są również nieco bardziej ograniczone niż RRO. Przed Androidem 11 RRO mogły to zrobić zastąpić prawie każdy zasób: wartości logiczne, liczby całkowite, wymiary, atrybuty, układy, a nawet surowe pliki danych. W Androidzie 11 dokonano pewnych zmian w działaniu RRO, przez co zastępowanie układów nie było już możliwe. Z drugiej strony, sfabrykowane nakładki mogą przesłaniać tylko wartości, które można przedstawić jako liczby całkowite. Obejmuje to liczby całkowite, wymiary, wartości logiczne i kolory. Nie można ich używać do zastępowania nieprzetworzonych zasobów danych, układów, ciągów znaków ani tablic — przynajmniej nie jest to łatwe.

Mimo to te ograniczenia nie mają tak naprawdę znaczenia, jeśli chodzi o Material You i monety. Sfabrykowane nakładki ułatwiają systemowi nakładanie nakładek kolorów i wymiarów w locie, bez czekania na skompilowanie pliku APK lub ponowne uruchomienie systemu w celu ich zastosowania.

Material You wciąż się udoskonala

Dynamiczne kolory Material You z pewnością nie są pozbawione problemów i nie jest trudno je zasadniczo przełamać. Jeśli na przykład szybko zmienisz tapetę, możesz to zrobić skutecznie przeprowadzić atak typu „odmowa usługi”.. Miszaala Rahmana potwierdził że ten atak typu „odmowa usługi” został naprawiony w systemie Android 12L. Mam szczerą nadzieję, że Material You zostanie udoskonalony w przyszłych wersjach, ponieważ choć bardzo mi się podoba i jego koncepcja, wymaga dużo pracy. Z mojego osobistego doświadczenia wynika, że ​​jego błędy wynikają częściowo z tego, że nie został dodany do AOSP... to oraz fakt, że Google skutecznie uczynił z tego czasową ekskluzywność dla serii Pixel. Niedawno napotkałem problem po aktualizacji do grudniowej łatki Androida 13 na moim Google Pixel 7 Pro, który później wyśledziłem w logcat, i który jest spowodowany przez Material You i Google Pixel wyrzutnia.

Denerwująco, W systemie Android 12 usunięto niestandardowe czcionki i niestandardowe ikony na korzyść dynamicznego motywu Material You. System motywów został po raz pierwszy wprowadzony w aplikacji Pixel Themes i był oparty na platformie motywów opartej na nakładkach dla Androida. Chociaż system motywów Material You w Androidzie 12 jest bardziej konfigurowalny, nie zawiera niestandardowych stylów wprowadzonych przez Google w Androidzie 10. W komentarz w narzędziu Google Issue Tracker Googler podał następujące uzasadnienie usunięcia:

„Niestandardowe funkcje stylu (czcionka, kształt ikony, pakiet ikon i kolor akcentu) w R są zastępowane nową funkcją dynamicznego motywu, którą wprowadzamy w S. Uważamy, że nowa funkcja dynamicznego motywu jest bardziej nowoczesna i inteligentna. Proste i przyjemne doświadczenie, które, mamy nadzieję, sprawi radość wszystkim użytkownikom.”

Wydaje się mało prawdopodobne, że Google ponownie wprowadzi w przyszłości czcionki i niestandardowe ikony. Wielu użytkowników wyraziło swoje rozczarowanie zmianami wprowadzonymi przez Google w Material You, a biorąc pod uwagę, jak bardzo mogą one być zepsute, całkowicie rozumiem dlaczego. Mamy nadzieję, że Google ulepszy tę implementację lub coś takiego inni producenci OEM nie wpadają w te same pułapki w swoich wdrożeniach, które posiada Google.

Zmiany w Androidzie 13

Google ulepszyło Material You za wydanie Androida 13, a jednym z pierwszych ulepszeń było dodanie pięciu dodatkowych stylów kolorów. Te nowe style kolorów noszą nazwy TONAL_SPOT, VIBRANT, EXPRESSIVE, SPRITZ, RAINBOW i FRUIT_SALAD. Zrobiliśmy zrzuty ekranu i pokazaliśmy je poniżej.

  • TONAL_SPOT: Domyślne kolory materiału
  • VIBRANT: Tworzy bardziej tonalną paletę z nieco zmieniającymi się odcieniami oraz bardziej kolorowymi kolorami dodatkowymi i kolorami tła
  • EKSPRESYWNY: Tworzy paletę z wieloma wyrazistymi odcieniami, które są bardziej kolorowe niż VIBRANT
  • SPRITZ: Generuje paletę o mniejszej liczbie kolorów

W Androidzie 13 wprowadzono także możliwość tworzenia przez programistów tematycznych ikon aplikacji, dzięki czemu mogą oni przyjąć motyw systemu. Programiści mogą to wspierać, udostępniając w swoich aplikacjach zarówno ikonę adaptacyjną, jak i monochromatyczną ikonę aplikacji. Program uruchamiający nadal musi jednak obsługiwać ikony tematyczne, takie jak program uruchamiający Google Pixel.


Dziękujemy starszemu członkowi XDA kdrag0n, twórca zarówno ProtonAOSP, jak i odtworzenie systemu tematycznego Material You, za pomoc w tym artykule!