Cum să utilizați un GIF ca cheie de acasă pentru Android Navbar

Câteva minți strălucitoare din comunitatea Android și-au dat seama cum să-ți modifici barul de navigație pentru a utiliza un .gif animat ca cheie de acasă, iar Appuals are ghidul pentru ao face!

Avertisment: Acesta este un proces destul de implicat. Trebuie să decompilați SystemUI.apk, să încurcați cu câteva fișiere importante și să-l recompilați împreună. Faceți o copie de rezervă a SystemUI.apk dvs. în caz că ceva nu merge bine!

Ghiduri conexe pentru aplicații:

  • Cum să temezi manual UI pentru sistemul Android
  • Cum se decompilează și teme APK-uri Android
  • Cum dezaxurați APK-urile dvs. pe ROM-urile de stoc

cerinţe:

  • Un telefon Android înrădăcinat (Appuals are o mulțime de ghiduri root Android!)
  • Un instrument de decompilare APK ( recomandăm APK Easy Tool)
  • Un editor de cod bun precum Notepad ++

Decompilarea SystemUI.apk

Primul lucru pe care trebuie să-l faceți este să descodificați SystemUI.apk - puteți utiliza un instrument precum Tickle My Android pentru asta. Citiți ghidul Appuals pentru APK-uri de dexixare pe acest proces.

Următorul pas este să decompilați SystemUI.apk, care necesită un ghid de la sine, dacă nu l-ați făcut niciodată - din fericire, Appuals are „Cum să tem manual manual sistemul de operare Android” cu instrucțiuni de decompilare, așa că dați o citire dacă nu a mai decompilat niciodată un APK.

Adăugarea fișierelor SMALI

Acum trebuie să adăugați noi fișiere smali - există un pachet de fișiere .smali deja modificate pentru exact ceea ce trebuie să facem disponibil AICI. Mai exact, trebuie să extrageți fișierul „SelfAnimatingImageView.smali” din .zip și să îl adăugați la APK-ul decompilat din director:

 SystemUI.apk \ smali \ com \ Android \ Morningstar \ 

Va trebui să creați aceste foldere dacă nu există.

Împărțirea unui GIF în cadre

Acum trebuie să găsiți un .gif animat pe care îl doriți și doriți să-l utilizați ca buton de navigare. Ar trebui să folosiți un gif autocolant, așa cum puteți găsi pe Giphy.com/stickers - veți observa că au fundaluri transparente precum PNG, dar sunt de fapt GIF-uri.

După ce salvați un GIF autocolant care vă place, trebuie să-l convertiți într-o serie de PNG-uri. Acest lucru se datorează faptului că sistemulUI modificat nu va rula de fapt un fișier .gif nativ, acesta va reda PNG-urile în ordine secvențială. Așadar, trebuie să împărțim .gif-ul în PNG-uri secvențiale, din fericire putem face foarte ușor acest lucru cu un convertor online precum EZGIF Split.

Pur și simplu încărcați GIF-ul dvs. pe instrumentul EZGIF Split, alegeți „Ieșirea imaginilor în format PNG” din meniul vertical Opțiuni de divizare și va extrage toate cadrele în ordine secvențială. Apoi, puteți descărca cadrele într-un fișier ZIP.

Acum trebuie să adăugați cadre PNG din GIF -ul împărțit în folderul „ drawable-xxxDPI ” corespunzător din folderul dvs. apk SystemUI decompilat. Dosarul pe care îl veți utiliza depinde de DPI-ul dispozitivului dvs., deci:

  • MDPI = ~ 160 DPI
  • HDPI = ~ 240 DPI
  • XHDPI = ~ 320 DPI
  • XXHDPI = ~ 480 DPI
  • XXXHDPI = ~ 640 DPI

Acum avem nevoie de un fișier XML care să instruiască Android ce imagini să folosească pentru animație și cât de rapid să circule prin ele. Reveniți la ZIP-ul pe care l-ați descărcat mai devreme și apucați „frame_anim.xml” și copiați-l în folderul „res \ drawable” din APK decompilat.

Dacă deschideți frame_anim.xml în Notepad ++, ar trebui să arate astfel:

Fiecare linie începe cu

Și, în sfârșit, înainte de a putea recompila SystemUI.apk, trebuie să punem animația pe navbar. Acest lucru este un pic complicat, deoarece vom edita fișierul XML aspect. În majoritatea ROM-urilor stocate, codul care controlează softkey-ul Navbar HOME poate fi găsit în „layout \ navigation_bar.xml”, dar poate fi găsit și în „layout \ home.xml”. În acest caz, trebuie să vânați, în funcție de ROM-ul dvs.

Practic, căutați oricare format din fișierul XML conține codul care arată astfel:

android: id = "@ id / home_button" android: layout_width = "0.0dip" android: layout_height = "0.0dip" android: scaleType = "centru" android: contentDescription = "@ string / accessibility_home" systemui: keyCode = "3" /> 

Veți ști că sunteți în fișierul XML corect atunci când veți vedea linii care fac referire la butonul home_ sau similar. Ce trebuie să facem este să ascundem această cheie HOME și să punem una nouă la locul ei, care să fie de aceeași dimensiune, dar invizibilă, iar apoi ramele noastre animate vor trece sub ea. Acest lucru este destul de ușor, tot ce avem nevoie este un cod FrameLayout .

Dacă examinați acest cod, veți vedea cum avem trei lucruri diferite stivuite unul peste altul. Dar când aplicația rulează, nu o veți vedea - tot ce veți vedea este GIF-ul dvs. animat, unde tasta HOME ar trebui să se afle pe bara de navigare.

Așadar, tot ce trebuie să faceți este să înlocuiți linia de cod softkey HOME cu codul FrameLayout de mai sus, dar poate fi necesar să-l reglați pentru ROM-ul dvs. particular. Un pic de încercare și eroare este necesar aici.

Recompilarea APK-ului și interfațarea acestuia

Acum suntem gata să recompilăm APK-ul modificat. Pur și simplu folosiți Instrumentul ușor APK pentru a recompila SystemUI.apk și flash-l în modul de recuperare pe dispozitivul dvs. Este important să faceți acest lucru în modul de recuperare, deoarece trebuie să ștergeți memoria cache Dalvik sau altfel fișierele noi smali adăugate nu vor fi activate.

Dacă totul merge bine, ar trebui să vă vedeți GIF-ul animat drept noua cheie de acasă a navbar-ului!

Articole Interesante