DenysAndroider - Pada kesempatan Kali ini saya akan kasih tutorial yang ane dapet dari xda yaitu "Cara Membuat Nav Bar dan Status Bar Gradient" agar lebih mirip dengan galaxy nexus. ane kasih SS di HH gue OPPO NEO 3 R831K tercinta ane
Statusbar dan Navbar Gradient |
Syarat :
- HH harus sudah root
- Mengerti compile dan decompile apk
- Berani
- Yang paling penting kemauan yang keras agar bisa berhasil menggunakan tutorial ini
Tutorial :
- Pergi ke system/framework ambil android.policy.jar
- Kemudian Decompile
- Masuk ke folder berikut ini gan android.policy.jar.out\com\android\internal\policy\impl\PhoneWindowManager.smali
- Cari Line di bawah ini :
.method public getSystemDecorRectLw(Landroid/graphics/Rect;)I
- Code lengkapnya seperti ini gan lihat text yang warna merah, hapus text berwarna merah ganti dengan text berwana biru
.method public getSystemDecorRectLw(Landroid/graphics/Rect;)I
.locals 1
.parameter "systemRect"
.prologue
.line 2755
iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemLeft:I
iput v0, p1, Landroid/graphics/Rect;->left:I
.line 2756
iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemTop:I
iput v0, p1, Landroid/graphics/Rect;->top:I
.line 2757
iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemRight:I
iput v0, p1, Landroid/graphics/Rect;->right:I
.line 2758
iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemBottom:I
iput v0, p1, Landroid/graphics/Rect;->bottom:I
.line 2759
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mStatusBar:Landroid/view/WindowManagerPolicy$WindowState;
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mStatusBar:Landroid/view/WindowManagerPolicy$WindowState;
invoke-interface {v0}, Landroid/view/WindowManagerPolicy$WindowState;->getSurfaceLayer()I
move-result v0
.line 2761
:goto_0
return v0
.line 2760
:cond_0
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mNavigationBar:Landroid/view/WindowManagerPolicy$WindowState;
if-eqz v0, :cond_1
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mNavigationBar:Landroid/view/WindowManagerPolicy$WindowState;
invoke-interface {v0}, Landroid/view/WindowManagerPolicy$WindowState;->getSurfaceLayer()I
move-result v0
goto :goto_0
.line 2761
:cond_1
const/4 v0, 0x0
goto :goto_0
.end method
- Ganti ini gan
const/4 v0, 0x0
return v0
.end method
- Finish kemudian compile
Kemudian Editing SystemUI :
- Ambil SystemUI.apk dari hh anda system/app
- Kemudian Decompile
- Kemudian masuk sini gan SystemUI\com\android\systemui\statusbar\phone\PhoneStatusBar.smali
- Lihat dan cari code berikut ini hapus text berwarna merah tambahkan text berwarna biru
.method private getNavigationBarLayoutParams()Landroid/view/WindowManager$LayoutParams; .locals 6 .prologue const/4 v1, -0x1 .line 792 new-instance v0, Landroid/view/WindowManager$LayoutParams; const/16 v3, 0x7e3 const v4, 0x840068 const/4 v5, -0x3 move v2, v1 move v5, v1 invoke-direct/range {v0 .. v5}, Landroid/view/WindowManager$LayoutParams;-><init>(IIIII)V .line 803 invoke-static {}, Landroid/app/ActivityManager;->isHighEndGfx()Z move-result v1 if-eqz v1, :cond_0 .line 804 iget v1, v0, Landroid/view/WindowManager$LayoutParams;->flags:I const/high16 v2, 0x100 or-int/2addr v1, v2 iput v1, v0, Landroid/view/WindowManager$LayoutParams;->flags:I .line 807 :cond_0 const-string v1, "NavigationBar" invoke-virtual {v0, v1}, Landroid/view/WindowManager$LayoutParams;->setTitle(Ljava/lang/CharSequence;)V .line 808 const/4 v1, 0x0 iput v1, v0, Landroid/view/WindowManager$LayoutParams;->windowAnimations:I .line 809 return-object v0 .end method
- Kemudian masuk sini gan SystemUI\res\layout\navigation_bar.xml dan
SystemUI.apk\res\layout-sw600dp\navigation_bar.xml - Kemudian ganti text berwarna merah deng text warna biru lihat code ini gan
android:background="#88000000"
android:background="@drawable/nav_bar_background"
- Masuk sini gan SystemUI\res\values\drawables.xml hapus line berikut
<item type="drawable" name="status_bar_background">#88000000</item>
- Masuk SystemUI\res\layout\status_bar.xml Hapus text berwarna merah ganti dengan text berwarna biru
android:background="#FF000000"
android:background="@drawable/status_bar_background"
- Tambahkan 2 xml bari di SystemUI\res\drawable
- [status_bar_background.xml]
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android">
<gradient android:startColor="#00000000" android:endColor="#99000000" android:angle="@integer/status_bar_bg_gradient_degrees" name="status_bar_background" />
</shape>
- [nav_bar_background.xml]
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android">
<gradient android:startColor="#cc000000" android:endColor="#00000000" android:angle="@integer/nav_bar_bg_gradient_degrees" name="nav_bar_background" />
</shape>
- Tambahkan script di bawah ini SystemUI\res\values\integers
<integer name="nav_bar_bg_gradient_degrees">90</integer>
<integer name="status_bar_bg_gradient_degrees">90</integer>
- Edit seperti text berwarna biru harus sama seperti text warna biru ya gan SystemUI\res\drawable\status_bar_recents_background
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android">
<gradient android:startColor="#0d000000" android:endColor="#00000000" android:angle="@integer/status_bar_recents_bg_gradient_degrees" name="status_bar_recents_background" />
</shape>
- Jika sudah Compile
- Finish
Step Push System :
- Push android.policy.jar yang sudah di edit tadi ke dalam system/framework
- Push SystemUI yang sudah di edit tadi ke system/app
- Reboot
- Finish
Oh iya satu lagi lupa ane cara aktifin navbarnya :
- Edit build.prop dan tambahkan qemu.hw.mainkeys=0 di paling bawah sendiri
- Jika sudah ada tulisan qemu.hw.mainkeys=1 di build.propnya. tinggal ganti aja menjadi qemu.hw.mainkeys=0
Tutorial yang sangat mudah bukan mengenai "Cara Membuat Nav Bar dan Status Bar Gradient"
Semoga tutorial ini bermanfaat gan jika ada kurang lebihnya saya minta
maaf karena disini ane jg masih belajar seperti agan agan semua
Do With Your Own Risk
Thanks to : XDA
EmoticonEmoticon