Android 台灣中文網

標題: 狀態欄透明化教學 [打印本頁]

作者: asd8531    時間: 2013-6-23 15:29
標題: 狀態欄透明化教學
本帖最後由 asd8531 於 2013-7-1 14:45 編輯

一、需改動文件:android.policy.jar、systemui.apk
※注:直接用官方固件裡的文件的話需要先deodex!

二、操作步驟:
1、加載框架
apktool if framework-res.apk
apktool if SemcGenericUxpRes.apk

2、解包相關資源
apktool d systemui.apk
apktool d android.policy.jar

3、修改資源

修改android.policy.jar:

打開:android.policy\smali\com\android\internal\policy\i mpl\PhoneWindowManager.smali

藍色 - 搜索找到 紅色 - 刪除 綠色 - 添加

   .line 2552
    iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemTop:I

    iput v0, p1, Landroid/graphics/Rect;->top:I

    .line 2553
    iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemRight:I

    iput v0, p1, Landroid/graphics/Rect;->right:I

   .line 2554
    iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemBottom:I

    iput v0, p1, Landroid/graphics/Rect;->bottom:I

     .line 2555
    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 2557
    :goto_0
    return v0

    .line 2556
    :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 2557
    :cond_1
    const/4 v0, 0x0

    goto :goto_0

    const/4 v0, 0x0

    return v0

.end method

改好後回編譯android.policy.jar

-----------------------------------------------------------------------------------------------------------

反編譯SystemUI.apk,打開\SystemUI\res\values\drawables.xml跟res\layout\navigation_bar.xml

都找到<item type="drawable" name="status_bar_background">#ff000000</item>

把#ff000000改成#5a000000

之後打開SystemUI\smali\com\android\systemui\statusbar\phon e\PhoneStatusBar.smail

找尋"IIIII" 新增綠色的字 刪除紅色的字

const/16 v3, 0x7e3

const v4, 0x4800068

const/4 v5, -0x3

move v2, v1

move v5, v1

invoke-direct/range {v0 .. v5}, Landroid/view/WindowManager$LayoutParams;-><init>(IIIII)V

再來繼續收尋"showNav"或"mPixelFormat:I"

.line 417
.end local v3 #showNav:Z
:cond_1
:goto_2
const/4 v5, -0x3 (or const/4 v9, -0x3 for Z)

iput v13, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPixelFormat:I

改好之後回編譯SystemUI.apk!

android.policy.jar是替換原本的classes.dex,SyetemUI.apk是替換原本的navigation_bar.xml和classes.dex和resources.arsc,然後權限改好替換手機裡面的,原本的要保留好哦!

透明代碼:
#00000000 - 100%透明
#3F000000 - 75%透明
#7F000000 - 50%透明
#BF000000 - 25%透明

原帖:XDA

多評分給個動力><

作者: Arachild    時間: 2013-6-23 22:49
有沒有圖片阿 XDD  感覺綜合版上的文章

可以自己DIY手機介面了QQ
作者: gonhan    時間: 2013-6-25 00:25
請問其他 機型適用嗎?
XS ....

缺少
.end local v3 #showNav:Z 及 (or const/4 v9, -0x3 for Z)

作者: asd8531    時間: 2013-6-25 09:59
gonhan 發表於 2013-6-25 00:25
請問其他 機型適用嗎?
XS ....

其實妳只要找到
iput v13, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPixelFormat:I
然後再上面添加虛要加進去的綠色字就可以! 記得綠色字跟下面那行要空格!
作者: gonhan    時間: 2013-6-25 23:47
asd8531 發表於 2013-6-25 09:59
其實妳只要找到
iput v13, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPixelFormat:I ...

其他機型,測試可以..
作者: chiou841011    時間: 2013-7-1 12:15
請問一下  哪個步驟是改透明化的步驟??

是這個步驟嗎??     {#ff000000改成#5a000000 }

這個試半透明嗎??    有其他代碼嗎??   
作者: asd8531    時間: 2013-7-1 13:31
chiou841011 發表於 2013-7-1 12:15
請問一下  哪個步驟是改透明化的步驟??

是這個步驟嗎??     {#ff000000改成#5a000000 }

XDA是這樣改的~

沒錯是半透明!
作者: chiou841011    時間: 2013-7-1 14:27
請問75%的代碼是??
作者: asd8531    時間: 2013-7-1 14:45
chiou841011 發表於 2013-7-1 14:27
請問75%的代碼是??

以更新 自行看!
作者: roygoys86514    時間: 2013-7-13 17:37
謝謝大大~~~正在測試中

作者: alex71323    時間: 2013-7-23 22:27
真強給你鮮花 可是不敢用@@ 怕壞掉




歡迎光臨 Android 台灣中文網 (https://apk.tw/) Powered by Discuz! X3.1