Hur du använder en GIF som din Android Navbar Home Key

Några lysande sinnen i Android-communityn räknade ut hur du ändrar navigeringsfältet för att använda en animerad .gif som din hemnyckel, och Appuals har guiden för att göra det!

Varning: Det här är en ganska involverad process. Du måste dekompilera din SystemUI.apk, röra med några viktiga filer och kompilera den igen tillsammans. Gör en säkerhetskopia av din SystemUI.apk om något går fel!

Relaterade appguider:

  • Hur man manuellt tema Android-systemgränssnitt
  • Hur man dekompilerar och temar Android-APK: er
  • Så här deodexar du dina APK på lager-ROM

Krav:

  • En rotad Android-telefon (Appuals har gott om Android-rootguider!)
  • Ett APK-dekompileringsverktyg ( vi rekommenderar APK Easy Tool)
  • En bra kodredigerare som Notepad ++

Dekompilera din SystemUI.apk

Det första du behöver göra är att deodex din SystemUI.apk - du kan använda ett verktyg som Tickle My Android för detta. Läs Appuals guide för deodexing av APK för denna process.

Nästa steg är att dekompilera SystemUI.apk, som kräver en guide i sig själv om du aldrig har gjort det förut - lyckligtvis har Appuals “How to Manually Theme Android System UI” med dekompileringsinstruktioner, så ge det en läsning om du har aldrig dekompilerat en APK förut.

Lägga till SMALI-filerna

Nu måste du lägga till nya smali-filer - det finns ett paket med redan modifierade .smali-filer för exakt vad vi behöver göra tillgängliga HÄR. Specifikt måste du extrahera filen "SelfAnimatingImageView.smali" från .zip och lägga till den till din dekompilerade APK i katalogen:

 SystemUI.apk \ smali \ com \ Android \ Morning \ 

Du måste skapa dessa mappar om de inte finns.

Dela upp ett GIF i ramar

Nu måste du hitta en animerad .gif som du gillar och vill använda som navigerings hemknapp. Du bör använda en klistermärke-gif, som du kan hitta på Giphy.com/stickers - du kommer att märka att de har transparent bakgrunder som en PNG, men de är i själva verket GIF.

När du har sparat ett klistermärke GIF du gillar måste du konvertera det till en serie PNG: er. Detta beror på att vårt modifierade SystemUI faktiskt inte kommer att köra en inbyggd .gif-fil, den kommer att spela PNG: er i sekvensordning. Så vi måste dela upp .gif i sekvensiella PNG: er, lyckligtvis kan vi mycket enkelt göra detta med en online-omvandlare som EZGIF Split.

Ladda bara upp ditt GIF till EZGIF Split-verktyget, välj "Output images in PNG format" från rullgardinsmenyn Split Options, och det kommer att extrahera alla ramar i sekvensordning. Sedan kan du ladda ner ramarna tillsammans i en ZIP-fil.

Nu måste du lägga till PNG-ramarna från den delade GIF till din lämpliga " drawable-xxxDPI " -mapp i din dekompilerade SystemUI-apk-mapp. Mappen du kommer att använda beror på enhetens DPI, så:

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

Nu behöver vi en XML-fil som instruerar Android vilka bilder som ska användas för animationen och hur snabbt vi kan gå igenom dem. Gå tillbaka till ZIP som du laddat ner tidigare och ta tag i “frame_anim.xml” och kopiera den till din “res \ drawable” -mapp i den dekompilerade APK.

Om du öppnar frame_anim.xml i Notepad ++ ska det se ut så här:

Varje rad som börjar med

Och slutligen, innan vi kan kompilera SystemUI.apk igen, måste vi lägga vår animation på navbaren. Detta är lite knepigt, eftersom vi kommer att redigera layout XML-filen. I de flesta lager-ROM: er kan koden som styr HOME-navigeringssymbolen hittas i "layout \ navigation_bar.xml", men den kan också hittas i "layout \ home.xml". Du måste jaga runt efter detta beroende på din ROM.

I princip letar du efter vilken layout XML-fil som innehåller koden som ser ut så här:

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

Du vet att du har rätt XML-fil när du ser rader som hänvisar till home_knappen eller liknande. Vad vi behöver göra är att dölja denna HOME-nyckel och sätta en ny på sin plats som kommer att vara i samma storlek, men osynlig, och sedan kommer våra animerade ramar att gå under den. Det här är faktiskt ganska enkelt, allt vi behöver är en FrameLayout- kod .

Om du granskar den här koden ser du hur vi har tre olika saker staplade ovanpå varandra. Men när appen körs kommer du inte att se den - allt du ser är din animerade GIF där HOME-tangenten ska vara på naveln.

Så allt du behöver göra är att ersätta HOME softkey-kodraden med FrameLayout-koden ovan, men du kan behöva justera den för din specifika ROM. Lite test och fel är nödvändigt här.

Kompilera APK igen och blinka den

Nu är vi redo att kompilera om den modifierade APK. Använd bara APK Easy Tool för att kompilera SystemUI.apk igen och blixt i återställningsläge på din enhet. Det är viktigt att göra detta i återställningsläge, eftersom du måste torka av Dalvik-cachen eller annars kommer de nya smali-filerna som vi har lagt till inte att aktiveras.

Om allt går bra, bör du se din animerade GIF som din nya navbars hemnyckel!

Intressanta Artiklar