Această bibliotecă terță parte aduce tematică Material You din Android 12 în orice aplicație

Doriți să integrați caracteristica de tematică dinamică a Material You în aplicația dvs.? Această bibliotecă vă permite să o adăugați chiar și pe dispozitive mai vechi decât Android 12.

Material Tu este cea mai recentă revizuire a limbajului de design Google. Cu Material You, Google pune accent pe personalizare, motiv pentru care în Android 12, există un nou sistem de tematică dinamică care vă recolorează UX folosind culori extras din tapetul dvs. Acest sistem dinamic de tematică, numit de cod „monet”, a intrat live în Android 12 Beta 2, dar Google încă nu a documentat API-urile/implementarea, nu a furnizat biblioteci de asistență sau nu a deschis Google Play pentru a publica aplicații care vizează API-ul nivelul 31 (Android 12), așa că marea majoritate a dezvoltatorilor nici măcar nu s-au deranjat să își adapteze aplicațiile pentru a susține tematica dinamică sistem.

Asta nu înseamnă asta Nu Totuși, dezvoltatorul se joacă cu sistemul de tematică al Android 12. Dezvoltatorul populara aplicație de automatizare Tasker

a demonstrat suport pentru tematică dinamică în aplicația sa folosind API-urile oficiale Android 12. Pe de altă parte, un alt dezvoltator, kdrag0n, a recreat sistemul în întregime folosind propriul algoritm de extragere a culorilor și generare a paletei. Kdrag0n a partajat codul sursă pentru motorul său de temă și lucrează la o bibliotecă Jetpack Compose și Flutter, astfel încât aplicațiile terțe create pentru versiuni mai vechi ale sistemului de operare să poată implementa interpretarea sa asupra „monetului”.

Acum, dezvoltator recunoscut XDA Quinny899 a creat o bibliotecă proprie care se bazează pe implementarea „monet” personalizată a kdrag0n (de ex. este nu bazat pe motorul de teme Google). Dezvoltatorii pot integra această bibliotecă MonetCompat în aplicațiile lor pentru a adăuga suport pentru tematizarea dinamică a interfeței de utilizare a aplicației lor pe baza imaginii de fundal a utilizatorului. Această bibliotecă funcționează pe dispozitive care rulează Android 5.0 și versiuni ulterioare (folosind API-ul Palette în modul de compatibilitate) și Android 8.1 Oreo și versiuni ulterioare în modul normal. Biblioteca nu poate extrage culori din imaginile de fundal animate pe versiunile anterioare Android 8.1 din cauza limitărilor din API-urile platformei.

Cât despre motivul pentru care un dezvoltator ar putea dori să folosească această bibliotecă, Quinny899 însuși explică pe pagina GitHub a proiectului. „De asemenea, nu se știe în prezent dacă Google va oferi propria bibliotecă de compatibilitate inversă pentru Monet cu lansarea Android 12, așa că această bibliotecă poate fi înlocuită cu una oficială în cele din urmă. Nu este folosit niciun cod Google proprietar în acest proiect și, prin urmare, este licențiat cu licența MIT pentru utilizare în aplicații terțe.”

Prima aplicație care folosește MonetCompat este, desigur, aplicația DarQ a lui Quinny899. DarQ este o aplicație care vă permite să comutați setarea modului întunecat forțat de la Android în funcție de aplicație. Aceasta accesul root utilizat inițial pentru a seta o proprietate de sistem dar a fost actualizat pentru a utiliza un script shell ADB rulat pe computerul utilizatorului, renunțând la cerința root. În DarQ 2.0, utilizatorii nu mai trebuie să ruleze scriptul ADB de pe computer, deoarece aplicația se integrează acum Shizuku. Shizuku este o aplicație și un serviciu care permite altor aplicații să ruleze comenzi shell sau să acceseze API-uri cu privilegii de utilizator shell ADB - gândiți-vă la aceasta ca la o aplicație de gestionare a superutilizatorului, dar pentru accesul shell-ului ADB. Pe Android 11+, serviciul Shizuku poate fi pornit prin funcția de depanare wireless încorporată, astfel încât nu mai aveți nevoie de un computer pentru a configura DarQ. Odată cu trecerea la Shizuku, DarQ folosește acum un ProcessObserver mai degrabă decât un AccessibilityService, care Dezvoltatorul spune că permite lui DarQ să detecteze când s-a deschis o aplicație (și astfel să aplice setarea forțată întuneric) mult mai mult repede.

Dacă, indiferent de motiv, nu vă place culoarea generată de MonetCompat pentru aplicația DarQ, puteți apăsa pe „DarQ 2.0” de trei ori pentru a activa Opțiuni pentru dezvoltatori în aplicație. Aici, puteți selecta „Monet Color Picker” pentru a schimba culoarea pe care doriți să o folosească aplicația.

Jurnalul modificărilor DarQ 2.0

  • DarQ 2.0 are un design complet nou, cu elemente Material You și culori Monet (pe baza de tapet).
  • Scriptul ADB a dispărut acum și, în schimb, Shizuku se ocupă de serviciu pe dispozitive non-root. Dacă nu știți ce este Shizuku, gândiți-vă la el ca la o aplicație Superuser pentru dispozitive non-root. Porniți Shizuku prin ADB pe un computer (sau chiar pe telefonul dvs. pe Android 11 și versiuni ulterioare) o dată la pornire, iar orice aplicație care utilizează Shizuku poate folosi serviciile ADB.
  • Serviciul de accesibilitate a fost înlocuit cu un ProcessObserver, folosind serviciul Shizuku/Root. Acest lucru este mult mai rapid decât accesibilitate, așa că aplicațiile care anterior se deschideau prea repede pentru a fi acceptate pot funcționa acum.
  • Îmbunătățiri ale temei întunecate automate la răsăritul/apusul soarelui pentru a funcționa mai bine pe diferite dispozitive.
  • Îmbunătățiri ale modulului Xposed pentru aplicațiile care încearcă să blocheze utilizarea forței întunericului, împiedicându-le să facă acest lucru.

citeşte mai mult

Subiect de forum DarQ XDA ||| Biblioteca MonetCompat pe GitHub