So verwenden Sie ein GIF als Android Navbar Home Key

Einige brillante Köpfe in der Android-Community haben herausgefunden, wie Sie Ihre Navigationsleiste so ändern können, dass ein animiertes GIF als Startschlüssel verwendet wird, und Appuals hat die Anleitung dazu!

Warnung: Dies ist ein ziemlich komplizierter Prozess. Sie müssen Ihre SystemUI.apk dekompilieren, mit einigen wichtigen Dateien herumspielen und sie wieder zusammen kompilieren. Erstellen Sie ein Backup Ihres SystemUI.apk, falls etwas schief geht!

Verwandte Appuals-Anleitungen:

Bedarf:

  • Ein verwurzeltes Android-Handy (Appuals hat viele Android-Root-Anleitungen!)
  • Ein APK-Dekompilierungswerkzeug (wir empfehlen APK Easy Tool)
  • Ein guter Code-Editor wie Editor ++

Dekompilieren Sie Ihre SystemUI.apk

Das erste, was Sie tun müssen, ist Ihre SystemUI.apk zu deodexieren – Sie können dafür ein Tool wie Tickle My Android verwenden. Lesen Sie den Appuals-Leitfaden zum Deodexieren von APKs zu diesem Prozess.

Der nächste Schritt ist das Dekompilieren der SystemUI.apk, für die eine Anleitung erforderlich ist, falls Sie dies noch nie zuvor getan haben. Glücklicherweise verfügt Appuals über die Anleitung zum Dekompilieren der Android-Systembenutzeroberfläche mit Anweisungen zum Dekompilieren Ich habe noch nie eine APK dekompiliert.

Hinzufügen der SMALI-Dateien

Jetzt müssen Sie neue Smali-Dateien hinzufügen – es gibt ein Paket bereits geänderter .smali-Dateien für genau das, was wir tun müssen HIER. Insbesondere müssen Sie die Datei “SelfAnimatingImageView.smali” aus der ZIP-Datei extrahieren und Ihrer dekompilierten APK im Verzeichnis hinzufügen:

SystemUI.apk smali com android Morningstar

Sie müssen diese Ordner erstellen, wenn sie nicht vorhanden sind.

Ein GIF in Frames aufteilen

Jetzt müssen Sie ein animiertes GIF finden, das Ihnen gefällt und das Sie als Home-Schaltfläche für die Navigationsleiste verwenden möchten. Sie sollten ein Aufkleber-GIF verwenden, wie Sie es auf finden können Giphy.com/stickers – Sie werden feststellen, dass sie transparente Hintergründe wie ein PNG haben, aber tatsächlich GIFs sind.

Sobald Sie ein Aufkleber-GIF gespeichert haben, das Sie mögen, müssen Sie es in eine Reihe von PNGs konvertieren. Dies liegt daran, dass unsere geänderte SystemUI keine native GIF-Datei ausführt, sondern PNGs in sequentieller Reihenfolge wiedergibt. Wir müssen also das .gif in sequentielle PNGs aufteilen, zum Glück können wir dies sehr einfach mit einem Online-Konverter wie tun EZGIF Split.

Laden Sie einfach Ihr GIF in das EZGIF-Split-Tool hoch, wählen Sie “Bilder im PNG-Format ausgeben” aus dem Dropdown-Menü “Split-Optionen” und es werden alle Frames in sequentieller Reihenfolge extrahiert. Anschließend können Sie die Frames zusammen in einer ZIP-Datei herunterladen.

Jetzt müssen Sie die PNG-Frames aus dem geteilten GIF zu Ihrem entsprechenden Ordner “drawable-xxxDPI” in Ihrem dekompilierten SystemUI apk-Ordner hinzufügen. Der Ordner, den Sie verwenden, hängt von der DPI Ihres Geräts ab.

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

Jetzt benötigen wir eine XML-Datei, die Android anweist, welche Bilder für die Animation verwendet werden sollen und wie schnell sie durchlaufen werden sollen. Kehren Sie zu der zuvor heruntergeladenen ZIP-Datei zurück, greifen Sie auf die Datei “frame_anim.xml” zu und kopieren Sie sie in Ihren Ordner “res drawable” in der dekompilierten APK.

Wenn Sie die Datei frame_anim.xml in Notepad ++ öffnen, sollte sie folgendermaßen aussehen:

</ animationsliste>

Jede Zeile, die mit <item beginnt, repräsentiert die Frames in sequentieller Reihenfolge. Sie müssen die Zeilen also nach Bedarf hinzufügen oder löschen, je nachdem, wie viele Frames sich im GIF befinden, das Sie in einzelne PNGs aufgeteilt haben.

Und bevor wir die SystemUI.apk neu kompilieren können, müssen wir unsere Animation auf der Navigationsleiste platzieren. Dies ist etwas schwierig, da wir die Layout-XML-Datei bearbeiten werden. In den meisten Standard-ROMs befindet sich der Code, der den Softkey “HOME navbar” steuert, in “layout navigation_bar.xml”, möglicherweise aber auch in “layout home.xml”. Sie müssen danach suchen, abhängig von Ihrem ROM.

Grundsätzlich suchen Sie nach einer Layout-XML-Datei, die den folgenden Code enthält:

<com.android.systemui.statusbar.policy.KeyButtonView android: layout_gravity = “center” 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 “/>

Sie werden wissen, dass Sie sich in der richtigen XML-Datei befinden, wenn Sie Zeilen sehen, die auf den home_button oder ähnliches verweisen. Was wir tun müssen, ist, diesen HOME-Schlüssel auszublenden und einen neuen an seine Stelle zu setzen, der dieselbe Größe hat, aber unsichtbar ist, und dann werden unsere animierten Frames darunter platziert. Das ist eigentlich ganz einfach, wir brauchen nur einen FrameLayout-Code.

<com.android.systemui.statusbar.policy.KeyButtonView android: layout_gravity = “center” android: layout_width = “@ dimen / navigation_key_width” android : layout_height = “fill_parent” android: src = “https://appuals.com/how-to-use-a-gif-as-your-android-navbar-home-key/@drawable/transparent” android: scaleType = “center” android: contentDescription = “@ string / accessibility_home” systemui: keyCode = “3” /> <com.android.systemui.statusbar.policy.KeyButtonView android: layout_gravity = “center” 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 “/> <com.android.systemui. Morningstar.SelfAnimatingImageView android: layout_gravity = “center” android: id = “@ + id / frame_animation” android: layout_width = “wrap_content” android: layout_height = “wrap_content” android: src = “@ drawable / frame _anim “/> </ FrameLayout>

Wenn Sie diesen Code untersuchen, werden Sie sehen, wie drei verschiedene Dinge übereinander gestapelt sind. Wenn die App ausgeführt wird, wird sie nicht angezeigt. Sie sehen lediglich Ihr animiertes GIF, in dem sich die HOME-Taste in der Navigationsleiste befinden sollte.

Alles, was Sie tun müssen, ist, die HOME-Softkey-Codezeile durch den obigen FrameLayout-Code zu ersetzen. Möglicherweise müssen Sie sie jedoch für Ihr bestimmtes ROM anpassen. Hier ist ein wenig Versuch und Irrtum notwendig.

APK neu kompilieren und flashen

Jetzt können wir die modifizierte APK neu kompilieren. Verwenden Sie einfach das APK Easy Tool, um die SystemUI.apk neu zu kompilieren, und flashen Sie sie im Wiederherstellungsmodus auf Ihrem Gerät. Dies ist im Wiederherstellungsmodus wichtig, da Sie den Dalvik-Cache löschen müssen, da sonst die neuen Smali-Dateien, die wir hinzugefügt haben, nicht aktiviert werden.

Wenn alles gut geht, sollten Sie Ihr animiertes GIF als Ihre neue Navbar-Home-Taste sehen!

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *