Тази библиотека на трета страна носи темата Material You на Android 12 във всяко приложение

click fraud protection

Искате ли да интегрирате динамичната тематична функция на Material You във вашето приложение? Тази библиотека ви позволява да я добавяте дори на устройства, по-стари от Android 12.

Материални Вие е най-новата версия на дизайнерския език на Google. С Material You Google набляга на персонализирането, поради което в Android 12, има нова система за динамично оформяне на теми, която преоцветява вашия UX с помощта на цветове извлечени от вашия тапет. Тази динамична тематична система с кодово име "моне", стартира на живо в Android 12 Beta 2, но Google тепърва трябва да документира API/имплементирането, да предостави библиотеки за поддръжка или да отвори Google Play за публикуване на приложения, насочени към API ниво 31 (Android 12), така че по-голямата част от разработчиците дори не са си направили труда да адаптират своите приложения, за да поддържат динамичната тематика система.

Това не означава това не разработчикът обаче си играе със системата за темите на Android 12. Разработчикът на популярно приложение за автоматизация Tasker

демонстрира поддръжка на динамични теми в своето приложение, използвайки официалните API на Android 12. От друга страна, друг разработчик, kdrag0n, пресъздаде системата в нейната цялост използвайки собствен алгоритъм за извличане на цветове и генериране на палитри. Kdrag0n сподели изходния код за неговия механизъм за теми и работи върху библиотека Jetpack Compose и Flutter, така че приложенията на трети страни, създадени за по-стари версии на операционната система, да могат да приложат неговия поглед върху „monet“.

Сега, XDA признат разработчик Куини899 е създал своя собствена библиотека, която е базирана на персонализираното "monet" изпълнение на kdrag0n (т.е. това е не въз основа на тематичния механизъм на Google). Разработчиците могат да интегрират тази библиотека MonetCompat в своите приложения, за да добавят поддръжка за динамично тематизиране на потребителския интерфейс на приложението си въз основа на тапета на потребителя. Тази библиотека работи на устройства, работещи с Android 5.0 и по-нова версия (използвайки API на Palette в режим на съвместимост) и Android 8.1 Oreo и по-нова версия в нормален режим. Библиотеката не може да извлича цветове от живи тапети на версии преди Android 8.1 поради ограничения в API на платформата.

Що се отнася до това защо един разработчик може да иска да използва тази библиотека, самият Quinny899 обяснява на страницата на проекта в GitHub. „Също така в момента не е известно дали Google ще предостави своя собствена библиотека за обратна съвместимост за Monet с версията на Android 12, така че тази библиотека може да бъде заменена с официална в крайна сметка. В този проект не се използва собствен код на Google и затова той е лицензиран с лиценза на MIT за използване в приложения на трети страни."

Първото приложение, което използва MonetCompat, е, разбира се, собственото приложение DarQ на Quinny899. DarQ е приложение, което ви позволява да превключвате настройката за принудителен тъмен режим на Android за всяко приложение. То първоначално използван root достъп за да зададе системно свойство, но беше актуализиран за използване на ADB shell скрипт, изпълняван на компютъра на потребителя, премахвайки изискването за root. В DarQ 2.0 потребителите вече не трябва да изпълняват ADB скрипта от своя компютър, тъй като приложението вече се интегрира Шизуку. Shizuku е приложение и услуга, която позволява на други приложения да изпълняват команди на обвивката или да имат достъп до API с потребителски привилегии на обвивката на ADB - мислете за нея като за приложение за управление на суперпотребител, но за достъп до обвивката на ADB. В Android 11+ услугата Shizuku може да бъде стартирана чрез вградената функция за безжично отстраняване на грешки, така че вече изобщо не се нуждаете от компютър, за да настроите DarQ. С преминаването към Shizuku DarQ също вече използва ProcessObserver, а не AccessibilityService, което Разработчикът казва, че позволява на DarQ да открие кога дадено приложение е отворено (и по този начин да приложи настройката за принудително тъмно) много повече бързо.

Ако по някаква причина не харесвате цвета, генериран от MonetCompat за приложението DarQ, можете да докоснете „DarQ 2.0“ три пъти, за да активирате Опции за разработчици в приложението. Тук можете да изберете „Избор на цвят на Monet“, за да промените цвета, който искате приложението да използва.

Регистър на промените в DarQ 2.0

  • DarQ 2.0 има изцяло нов дизайн, с елементи Material You и цветове на Monet (базирани на тапети).
  • Скриптът ADB вече го няма и вместо това Shizuku обработва услугата на не-root устройства. Ако не знаете какво е Shizuku, мислете за него като за приложение за суперпотребител за не-root устройства. Стартирайте Shizuku чрез ADB на компютър (или дори на телефона си на Android 11 и по-нова версия) веднъж на зареждане и всяко приложение, което използва Shizuku, може да използва услугите на ADB.
  • Услугата за достъпност е заменена с ProcessObserver, използвайки услугата Shizuku/Root. Това е много по-бързо от достъпността, така че приложенията, които преди са се отваряли твърде бързо, за да бъдат поддържани, сега могат да работят.
  • Подобрения в автоматичната тъмна тема при изгрев/залез, за ​​да работи по-добре на различни устройства.
  • Подобрения в модула Xposed за приложения, които се опитват да блокират използването на принудително тъмно, като им попречат да го направят.

Прочетете още

Тема във форума на DarQ XDA ||| Библиотека MonetCompat в GitHub