Материјал Ваш монет механизам за тему је велики врхунац Андроида 12, а ево како то функционише

Гоогле-ов материјал није тако компликован за разумевање, иако нема пуно информација на једном месту. Проверите овде!

Брзе везе

  • Како функционише механизам Монет тема
  • Шта се догодило са Рунтиме Ресоурце Оверлаис (РРО)?
  • Материјал Још увек се усавршавате
  • Промене у Андроиду 13

Убедљиво највећа промена у Андроид 12 је Материјал Ви, најновија верзија Гоогле-овог језика за дизајн материјала. Материјал Ви, како Гоогле описује, „настоји да креира дизајне који су лични за сваки стил, доступни за све потребе, живи и прилагодљиви за сваки екран.” Када је развијао Андроид 12, Гоогле је креирао нови механизам за тему под кодним називом „монет“ који генерише богату палету пастелних боја изведено из позадине корисника. Ове боје се затим примењују на различите делове система и њихове вредности су доступне преко АПИ који апликације корисника могу да позову, дозвољавајући апликацијама да одлуче да ли желе да поново боје своје УИ. Гугл је дао све од себе на Материал Иоу, а компанија је ажурирала већину својих апликација да би укључила динамичке боје.

За убрзани курс о историји дизајна материјала, први пут је лансиран са Андроидом 5 Лоллипоп, са инхерентним фокусом на корисничко искуство. Као Гугл то наводи, „Материјал је прилагодљив систем смерница, компоненти и алата који подржавају најбоље праксе дизајн корисничког интерфејса." Имао је равне, пастелне палете боја, дубину, меко осветљење и реалистичност стање. Андроид 9 Пие је доживео појаву Материал Десигн-а 2, иако то није био ни близу толико велики визуелни ремонт као прва итерација Материал Десигн-а. Андроид 12 је био лансиран Дизајн материјала 3, што је значајнији ремонт.

Међутим, одузмите машину за тему боја, а Материал Иоу заправо није то различит. У ствари, лични елемент означен са "Ви" мање-више потпуно нестаје.

Како функционише механизам Монет тема

Механизам за тему „Монет“ је место где се магија дешава када је у питању Материал Иоу, а алгоритам је тај који одлучује које боје се бирају са позадине. „Монет“ је додат у АОСП у Андроиду 12Л. Прилагођени РОМ програмери такође могу да имплементирају ово имплементација „монета“ отвореног кода. Програмери апликација трећих страна су бесплатни да додате подршку за динамичке боје тренутно, чак и ако ће тренутно радити само на ограниченом броју уређаја.

Прво питање за које сам сигуран да већина људи има у вези са Материал Иоу је како успева да одабере боје које функционишу заједно и сваки пут су у добром контрасту. Пробао сам безброј позадина са намером да разбијем алгоритам за бирање боја, али ниједна од њих није успела да то уради. И даље бира боје које раде заједно сваки пут, што је у најмању руку импресиван подвиг. Да бисте стекли увид у то како функционише алгоритам за бирање боја Андроид 12, једно од два ускршња јаја долази у облику виџета који можете да додате на радну површину. Виџет приказује све боје које је изабрао Монет и можете га додирнути да бисте га приказали преко целог екрана. Када је на целом екрану, можете да додирнете боју да бисте је поделили. Када га делите, излаз изгледа овако:

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

Када корисник промени позадину на Андроид 12 уређају, слика се анализира да би се одабрала боја и алгоритамски изаберите примарну, секундарну, терцијарну и боју грешке користећи почетно семе боја. Одабране су и две неутралне боје које материјалу дају укупну нијансу. Истовремено, примењује теорију боја и правила приступачности. Од ових боја, алгоритам креира тонске палете у распону од 0% осветљености (ЦРНА) до 100% (БЕЛА). Динамичко или прилагођено обликовање тема користи вредности у овим тоналним палетама да би поставило атрибуте теме за тај опсег боја. Извлачи до 128 боја из тапета у ЦИЕЛАБ простор боја као посредник, а затим се те боје мапиран на ЦАМ16. Тхе ЦАМ16 цолор аизглед модел се користи за сортирање и филтрирање боја да би се одредила стварна боја семена, а затим се палете генеришу користећи ту боју семена. Након тога, те боје се мапирају назад у РГБ за постављање боја у целом систему.

ЦИЕЛАБ се понекад назива и "Л*а*б*". Л* за уочену осветљеност/светлост, и а* и б* за четири јединствене боје људског вида - црвену, зелену, плаву и жуту. Лакоћа се користи за израчунавање односа контраста, гарантујући читљивост. Једном када се примени, добијате све своје лепе боје широм система које се могу имплементирати у кориснички интерфејс система, апликације и још много тога.

Шта се догодило са Рунтиме Ресоурце Оверлаис (РРО)?

РРО-ови нису нигде отишли, а Материал Иоу ради преко АПИ-ја Фабрицатед Оверлаис. У прошлости смо причали о како се Фабрицатед Оверлаис могу користити за враћање тема без корена. Израђени слојеви су нови додатак Андроид-у 12 и функционишу мало другачије од РРО-а. Као прво, РРО раде кроз АПК са преклапањем инсталираним на уређају, док Фабрицатед Оверлаи једноставно говори апликацији које боје да користити.

Израђени слојеви су такође мало ограниченији од РРО-а. Пре Андроида 11, РРО су могли заменити скоро сваки ресурс: логичке вредности, целе бројеве, димензије, атрибуте, распореде, па чак и сирове датотеке са подацима. Андроид 11 је унео неке измене у начин на који РРО функционишу, чинећи прегласавање изгледа више немогућим. С друге стране, фабриковани прекривачи могу заменити само вредности које се могу представити као цели бројеви. То укључује целе бројеве, димензије, логичке вредности и боје. Не можете да их користите да бисте заменили ресурсе сирових података, распореде, низове или низове - барем не лако.

Ипак, ова ограничења заправо нису битна када су у питању Материал Иоу и Монет. Израђени прекривачи олакшавају систему да примени преклапања боја и димензија у ходу, без чекања да се АПК компајлира или да се систем поново покрене да би га применио.

Материјал Још увек се усавршавате

Материјал Ваше динамичне боје свакако нису без проблема и није тако тешко суштински их разбити. Ако брзо промените позадину, на пример, можете ефективно увести напад ускраћивања услуге. Мисхаал Рахман је потврдио да је овај напад ускраћивања услуге поправљен у Андроиду 12Л. Искрено се надам да ће Материал Иоу бити побољшан у будућим верзијама, јер иако га волим и његов концепт, потребно је много рада. Из свог личног искуства, осећам да је његова грешка делимично разлог зашто није додат у АОСП... то и чињеница да је Гугл то учинио темпираном ексклузивом за Пикел серију. Чак сам недавно наишао на проблем након ажурирања децембарске закрпе за Андроид 13 на свом Гоогле Пикел 7 Про, који сам касније пронашао у логцату да је узрокован материјалом Иоу и Гоогле Пикел-ом лансер.

досадно, Андроид 12 је уклонио прилагођени фонт и избор прилагођених икона у корист динамичке тематике Материал Иоу. Систем тематике је први пут представљен са апликацијом Пикел Тхемес и био је заснован на Андроид-овом оквиру за теме заснованом на преклапању. Иако је систем тематике Материал Иоу у Андроид-у 12 прилагодљивији, он не садржи прилагођене стилове које је Гоогле увео у Андроид 10. У а коментар на Гоогле Иссуе Трацкер-у, Гооглеов радник је дао следеће разлоге за његово уклањање:

„Прилагођене карактеристике стила (фонт, облик иконе, пакет икона и боја акцента) у Р су замењене новом функцијом динамичке тематике коју уводимо у С. Нову функцију динамичке тематике видимо као модернију и интелигентнију. Једноставно и дивно искуство у којем се надамо да ће сви корисници моћи да уживају.”

Мало је вероватно да ће Гоогле поново увести фонтове и прилагођене изборе икона у будућности. Многи корисници су изразили своје разочарење у Гуглове промене материјала, а с обзиром на то колико може бити покварено, потпуно разумем зашто. Надамо се да ће Гоогле побољшати своју примену, или то други ОЕМ-ови не упадају у исте замке у њиховим имплементацијама које Гугл има.

Промене у Андроиду 13

Гоогле је побољшао материјал за вас за ослобађање од Андроид 13, а једно од првих побољшања било је додавање пет додатних стилова боја. Ови нови стилови боја се зову ТОНАЛ_СПОТ, ВИБРАНТ, ЕКСПРЕССИВЕ, СПРИТЗ, РАИНБОВ и ФРУИТ_САЛАД. Направили смо снимке екрана и приказали их испод.

  • ТОНАЛ_СПОТ: Подразумевани материјал које бојите
  • ВИБРАНТ: Ствара тоналнију палету са мало променљивим нијансама и шаренијим секундарним и позадинским бојама
  • ЕКСПРЕССИВЕ: Генерише палету са више истакнутих нијанси које су шареније од ВИБРАНТ
  • СПРИТЗ: Ствара палету ниских боја

Андроид 13 је такође увео могућност за програмере да имају и тематске иконе апликација, тако да могу да преузму системску тему. Програмери могу да подрже ово тако што ће у својим апликацијама обезбедити и адаптивну икону и монохроматску икону апликације. Међутим, покретач и даље треба да подржава тематске иконе, као што је покретач Гоогле Пикел.


Хвала старијем члану КСДА кдраг0н, програмер и ПротонАОСП и рекреација система тематике Материал Иоу, за њихову помоћ у овом чланку!