I've been asked several times to post a guide on how I created the gradient status and nav bar mod [LINK]. So here it is!...
...And if you use this mod in you're work please give proper credit - Thanks!
-------------------------------------------------------------------------------------------------------------------------------
TOOLS:
-------------------------------------------------------------------------------------------------------------------------------
NotePad++
> http://notepad-plus-plus.org/download/v6.7.4.html
Apktool
> new: https://bitbucket.org/iBotPeaches/apktool/downloads
> old: https://code.google.com/p/android-apktool/downloads/list
Smali/Baksmali
> https://bitbucket.org/JesusFreke/smali/downloads
Commands:
-------------------------------------------------------------------------------------------------------------------------------
LETS BEGIN:
-------------------------------------------------------------------------------------------------------------------------------
DELETE: RED CODE
ADD: BLUE CODE
-------------------------------------------------------------------------------------------------------------------------------
Adding translucency to the status & nav bars.
-------------------------------------------------------------------------------------------------------------------------------
This will enabled the status and navigation bar to be translucent - independently of each other.
Meaning you could set the status bar to 20% and the navigation bar to 75%.
-------------------------------------------------------------------------------------------------------------------------------
Editing Status bar & Navigation bar background
-------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------
Gradient Status & Navigation Bar
-------------------------------------------------------------------------------------------------------------------------------
-------------
STEP 1:
-------------
Create 2 new XML's:
First xml:
Name it:
Add to it:
-----------------------
SAVE & DONE
-----------------------
Second xml
Name it:
Add to it:
-----------------------
SAVE & DONE
-----------------------
Now place both xml's in:
-----------------------
DONE
-----------------------
-------------
STEP 2:
-------------
Navigate to:
Add to the bottom:
-----------------------
SAVE & DONE
-----------------------
-------------------------------------------------------------------------------------------------------------------------------
Finished - Do not compile - ↓ move to next step ↓
-------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------
Adjusting the background gradient for the recents menu
-------------------------------------------------------------------------------------------------------------------------------
I went with 5% ~ 0% - but you can add whatever values you wish.
Hex code list below.
-------------------------------------------------------------------------------------------------------------------------------
Hex Opacity Values:
-------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------
Known Issues:
-------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------
End Result:
-------------------------------------------------------------------------------------------------------------------------------
...And if you use this mod in you're work please give proper credit - Thanks!
-------------------------------------------------------------------------------------------------------------------------------
TOOLS:
-------------------------------------------------------------------------------------------------------------------------------
NotePad++
> http://notepad-plus-plus.org/download/v6.7.4.html
Apktool
> new: https://bitbucket.org/iBotPeaches/apktool/downloads
> old: https://code.google.com/p/android-apktool/downloads/list
Smali/Baksmali
> https://bitbucket.org/JesusFreke/smali/downloads
Commands:
De-compiling Apk's:
Re-compiling:
De-compiling Jar's:
Re-compiling Jar's:
Code:
apktool d [COLOR="Blue"]>NAME OF APK<[/COLOR].apk
Code:
apktool b [COLOR="Blue"]>NAME OF APK<[/COLOR]
Code:
java -jar baksmali.jar -x [COLOR="Blue"]>NAME OF JAR<[/COLOR] -o classout
Code:
java -Xmx512M -jar smali.jar classout/ -o new-classes.dex
-------------------------------------------------------------------------------------------------------------------------------
LETS BEGIN:
-------------------------------------------------------------------------------------------------------------------------------
DELETE: RED CODE
ADD: BLUE CODE
-------------------------------------------------------------------------------------------------------------------------------
Adding translucency to the status & nav bars.
-------------------------------------------------------------------------------------------------------------------------------
This will enabled the status and navigation bar to be translucent - independently of each other.
Meaning you could set the status bar to 20% and the navigation bar to 75%.
-------------
STEP 1:
-------------
Decompile:
Navigate to:
Look for this line:
Edit the following code:
Replace it with:
-----------------------
SAVE & DONE
-----------------------
-------------------------------------------------------------------------------------------------------------------------------
Finished - now compile.
-------------------------------------------------------------------------------------------------------------------------------
-------------
STEP 2:
-------------
Decompile:
Navigate to:
Look for:
Edit the following code:
-----------------------
SAVE & DONE
-----------------------
-------------------------------------------------------------------------------------------------------------------------------
Finished - Do not compile - ↓ move to next step ↓
-------------------------------------------------------------------------------------------------------------------------------
STEP 1:
-------------
Decompile:
Code:
android.policy.jar
Navigate to:
Code:
> com > android > internal > policy > impl > PhoneWindowManager.smali
Look for this line:
Code:
.method public getSystemDecorRectLw(Landroid/graphics/Rect;)I
Edit the following code:
Code:
.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
[COLOR="Red"] 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[/COLOR]
Replace it with:
Code:
[COLOR="blue"]
const/4 v0, 0x0
return v0
.end method[/COLOR]
-----------------------
SAVE & DONE
-----------------------
-------------------------------------------------------------------------------------------------------------------------------
Finished - now compile.
-------------------------------------------------------------------------------------------------------------------------------
-------------
STEP 2:
-------------
Decompile:
Code:
SystemUI.apk
Navigate to:
Code:
> com > android > systemui > statusbar > phone > PhoneStatusBar.smali
Look for:
Code:
.method private getNavigationBarLayoutParams()Landroid/view/WindowManager$LayoutParams;
Edit the following code:
Code:
.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
[COLOR="RoyalBlue"]const/4 v5, -0x3[/COLOR]
move v2, v1
[COLOR="Red"]move v5, v1[/COLOR]
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
-----------------------
SAVE & DONE
-----------------------
-------------------------------------------------------------------------------------------------------------------------------
Finished - Do not compile - ↓ move to next step ↓
-------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------
Editing Status bar & Navigation bar background
-------------------------------------------------------------------------------------------------------------------------------
-------------
STEP 1:
-------------
Navigate to both:
And:
Change the following in both xml's:
-----------------------
SAVE & DONE
-----------------------
Navigate to:
Change the following:
-----------------------
SAVE & DONE
-----------------------
Navigate to:
And delete:
-----------------------
SAVE & DONE
-----------------------
-------------------------------------------------------------------------------------------------------------------------------
Finished - Do not compile - ↓ move to next step ↓
-------------------------------------------------------------------------------------------------------------------------------
STEP 1:
-------------
Navigate to both:
Code:
SystemUI.apk > res > layout > navigation_bar.xml
And:
Code:
SystemUI.apk > res > layout-sw600dp > navigation_bar.xml
Change the following in both xml's:
Code:
android:background="[COLOR="Red"]#88000000[/COLOR]"
Code:
android:background="[COLOR="Blue"]@drawable/nav_bar_background[/COLOR]"
-----------------------
SAVE & DONE
-----------------------
Navigate to:
Code:
SystemUI.apk > res > layout > status_bar.xml
Change the following:
Code:
android:background="[COLOR="Red"]#FF000000[/COLOR]"
Code:
android:background="[COLOR="Blue"]@drawable/status_bar_background[/COLOR]"
-----------------------
SAVE & DONE
-----------------------
Navigate to:
Code:
SystemUI.apk > res > values > drawables.xml
And delete:
Code:
[COLOR="Red"]<item type="drawable" name="status_bar_background">#88000000</item>[/COLOR]
-----------------------
SAVE & DONE
-----------------------
-------------------------------------------------------------------------------------------------------------------------------
Finished - Do not compile - ↓ move to next step ↓
-------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------
Gradient Status & Navigation Bar
-------------------------------------------------------------------------------------------------------------------------------
- startCOLOR = BOTTOM
- endCOLOR = TOP
-------------
STEP 1:
-------------
Create 2 new XML's:
First xml:
Name it:
Code:
status_bar_background.xml
Add to it:
Code:
[COLOR="Blue"]<?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>[/COLOR]
-----------------------
SAVE & DONE
-----------------------
Second xml
Name it:
Code:
nav_bar_background.xml
Add to it:
Code:
[COLOR="blue"]<?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>[/COLOR]
-----------------------
SAVE & DONE
-----------------------
Now place both xml's in:
Code:
SystemUI.apk > res > drawable
-----------------------
DONE
-----------------------
-------------
STEP 2:
-------------
Navigate to:
Code:
SystemUI.apk > res > values > integers
Add to the bottom:
Code:
[COLOR="Blue"]<integer name="nav_bar_bg_gradient_degrees">90</integer>
<integer name="status_bar_bg_gradient_degrees">90</integer>[/COLOR]
SAVE & DONE
-----------------------
-------------------------------------------------------------------------------------------------------------------------------
Finished - Do not compile - ↓ move to next step ↓
-------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------
Adjusting the background gradient for the recents menu
-------------------------------------------------------------------------------------------------------------------------------
I went with 5% ~ 0% - but you can add whatever values you wish.
Hex code list below.
Navigate to:
Add:
-----------------------
SAVE & DONE
-----------------------
-------------------------------------------------------------------------------------------------------------------------------
Finished - Now compile - flash - and Enjoy!
-------------------------------------------------------------------------------------------------------------------------------
Code:
SystemUI.apk > res > drawable > status_bar_recents_background
Add:
Code:
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android">
<gradient android:startColor="[COLOR="Blue"]#0d000000[/COLOR]" android:endColor="[COLOR="Blue"]#00000000[/COLOR]" android:angle="@integer/status_bar_recents_bg_gradient_degrees" name="status_bar_recents_background" />
</shape>
-----------------------
SAVE & DONE
-----------------------
-------------------------------------------------------------------------------------------------------------------------------
Finished - Now compile - flash - and Enjoy!
-------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------
Hex Opacity Values:
-------------------------------------------------------------------------------------------------------------------------------
Code:
100% — FF
95% — F2
90% — E6
85% — D9
80% — CC
75% — BF
70% — B3
65% — A6
60% — 99
55% — 8C
50% — 80
45% — 73
40% — 66
35% — 59
30% — 4D
25% — 40
20% — 33
15% — 26
10% — 1A
5% — 0D
0% — 00
-------------------------------------------------------------------------------------------------------------------------------
Known Issues:
-------------------------------------------------------------------------------------------------------------------------------
Code:
*White backgrounds causes the status bar to become white (System Wide)
[STRIKE]*Lockscreen tint needs to be adjusted to match gradient.[/STRIKE]
-------------------------------------------------------------------------------------------------------------------------------
End Result:
-------------------------------------------------------------------------------------------------------------------------------
Last edited: