Chcete do svojej aplikácie integrovať funkciu dynamického tematického zamerania Material You? Táto knižnica vám ju umožňuje pridať aj na zariadeniach starších ako Android 12.
Material You je najnovšia revízia dizajnového jazyka Google. Pri Material You Google kladie dôraz na personalizáciu, a preto in Android 12, je tu nový systém dynamických tém, ktorý prefarbuje vaše UX pomocou farieb extrahované z vašej tapety. Tento dynamický tematický systém s kódovým názvom „monet“, spustený v systéme Android 12 Beta 2, ale spoločnosť Google ešte musí zdokumentovať rozhrania API/implementáciu, poskytnúť podporné knižnice alebo otvoriť službu Google Play pre rozhranie API zacielenia aplikácií na publikovanie úroveň 31 (Android 12), takže drvivá väčšina vývojárov sa ani neobťažovala pozrieť si prispôsobenie svojich aplikácií tak, aby podporovali dynamické motívy systému.
To ešte neznamená č vývojár sa však pohráva s tematickým systémom Android 12. Vývojár programu populárna automatizačná aplikácia Tasker
preukázal vo svojej aplikácii podporu dynamickej témy pomocou oficiálnych rozhraní API systému Android 12. Na druhej strane, ďalší vývojár, kdrag0n, znovu vytvoril systém ako celok pomocou vlastného algoritmu extrakcie farieb a generovania palety. Kdrag0n zdieľal zdrojový kód pre svoj tematický engine a pracuje na knižnici Jetpack Compose a Flutter, aby aplikácie tretích strán vytvorené pre staršie verzie OS mohli implementovať jeho pohľad na „monet“.Teraz uznávaný vývojár XDA Quinny899 vytvoril vlastnú knižnicu, ktorá je založená na vlastnej implementácii „monet“ kdrag0n (tj. to je nie na základe nástroja na témy Google). Vývojári môžu túto knižnicu MonetCompat integrovať do svojich aplikácií a pridať tak podporu pre dynamické tematické prispôsobenie používateľského rozhrania svojej aplikácie na základe tapety používateľa. Táto knižnica funguje na zariadeniach so systémom Android 5.0 a vyšším (pomocou rozhrania Palette API v režime kompatibility) a Androidom 8.1 Oreo a vyšším v normálnom režime. Knižnica nemôže extrahovať farby zo živých tapiet vo verziách starších ako Android 8.1 z dôvodu obmedzení v platformách API.
Prečo by vývojár mohol chcieť použiť túto knižnicu, sám Quinny899 vysvetľuje na stránke projektu GitHub. „V súčasnosti tiež nie je známe, či Google poskytne vlastnú knižnicu spätnej kompatibility pre Monet s vydaním Androidu 12, takže táto knižnica môže byť nakoniec nahradená oficiálnou knižnicou. V tomto projekte sa nepoužíva žiadny proprietárny kód Google, a preto je licencovaný s licenciou MIT na použitie v aplikáciách tretích strán.“
Prvou aplikáciou, ktorá používa MonetCompat, je samozrejme vlastná aplikácia DarQ od Quinny899. DarQ je aplikácia, ktorá vám umožňuje prepínať nastavenie vynúteného tmavého režimu Androidu pre každú aplikáciu. to pôvodne používaný root prístup nastaviť vlastnosť systému, ale bol aktualizované na použitie skriptu prostredia ADB spusteného na počítači používateľa, pričom sa zruší požiadavka root. V DarQ 2.0 už používatelia nemusia spúšťať skript ADB zo svojho počítača, pretože aplikácia teraz integruje Shizuku. Shizuku je aplikácia a služba, ktorá umožňuje iným aplikáciám spúšťať príkazy shellu alebo pristupovať k rozhraniam API s používateľskými oprávneniami prostredia ADB – predstavte si to ako aplikáciu na správu superužívateľov, ale pre prístup k shellu ADB. V systéme Android 11+ je možné službu Shizuku spustiť prostredníctvom vstavanej funkcie bezdrôtového ladenia, takže na nastavenie DarQ už vôbec nepotrebujete počítač. S prechodom na Shizuku teraz DarQ tiež používa ProcessObserver namiesto AccessibilityService, ktorý vývojár hovorí, že umožňuje DarQ oveľa viac zistiť, kedy sa aplikácia otvorila (a teda použiť nastavenie vynútenia tmy). rýchlo.
Ak sa vám z akéhokoľvek dôvodu nepáči farba generovaná MonetCompat pre aplikáciu DarQ, môžete trikrát klepnúť na „DarQ 2.0“ a povoliť možnosti vývojára v aplikácii. Tu môžete vybrať „Monet Color Picker“ a zmeniť farbu, ktorú má aplikácia používať.
Zoznam zmien DarQ 2.0
- DarQ 2.0 má úplne nový dizajn s prvkami Material You a farbami Monet (založené na tapetách).
- Skript ADB je teraz preč a namiesto toho Shizuku obsluhuje službu na zariadeniach bez root. Ak neviete, čo je Shizuku, predstavte si to ako aplikáciu Superuser pre zariadenia bez oprávnenia root. Spustite Shizuku cez ADB na počítači (alebo dokonca na telefóne so systémom Android 11 a novším) raz pri spustení a každá aplikácia, ktorá používa Shizuku, môže používať služby ADB.
- Služba dostupnosti bola nahradená ProcessObserver pomocou služby Shizuku/Root. Je to oveľa rýchlejšie ako zjednodušenie ovládania, takže aplikácie, ktoré sa predtým otvárali príliš rýchlo na to, aby mohli byť podporované, môžu teraz fungovať.
- Vylepšenia automatickej tmavej témy pri východe/západe slnka, aby fungovala lepšie na rôznych zariadeniach.
- Vylepšenia modulu Xposed pre aplikácie, ktoré sa pokúšajú zablokovať použitie vynúteného stmavenia a bránia im v tom.
čítaj viac
Vlákno fóra DarQ XDA ||| Knižnica MonetCompat na GitHub