androplus.orgへ移転しました。
数秒後に移動します。
数秒後に移動します。
[PR]
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
ステータスバーとナビバーの透過
参考:xda
ステータスバーとナビゲーションバーを透過します。
上の画像ではステータスバーが#7f000000、ナビバーが#00000000になっています。
以下の行数はエディタなど環境により変わる可能性があります。
android.policy.jarをデコンパイルし、
android.policysmalicomandroidinternalpolicyimplPhoneWindowManager.smali
を開き、
.end methodの上に
(deodexされていない場合はdexopt-wrapperでodexに変換)
次に透過度を指定します。
SystemUI esaluesdrawables.xml
を開き、
<item type="drawable" name="status_bar_background">#5a000000</item>
と書き換えます。
SystemUI eslayout
avigation_bar.xml
を開き
android:id="@id/nav_background" android:background="#ff000000"を
android:id="@id/nav_background" android:background="#5a000000"
にします。
SystemUIsmalicomandroidsystemuistatusbarphonePhoneStatusBar.smali
を開いて「IIIII」を検索します。(参考:891行目)
続けて「mPixelFormat:I」を検索します。(参考:5608行目)
全て保存した後SystemUI.apkをコンパイルし、
SystemUI.apkとandroid.policy.jar(またはandroid.policy.odex)を端末にコピーし、
deodexされている場合はSystemUI..odexとandroid.policy.odexを削除(または名前の変更)してください。
※Xperia Launcherなど一部のホームアプリではうまく透過されないようです。
333用ファイルはここからダウンロードできます。
SystemUI.apkとandroid.policy.odexを置き換えます。SystemUI.odexの削除は自分でしてください。
(SystemUI.apkは自分用に編集してあるので注意してください)
ステータスバーとナビゲーションバーを透過します。
上の画像ではステータスバーが#7f000000、ナビバーが#00000000になっています。
以下の行数はエディタなど環境により変わる可能性があります。
android.policy.jarをデコンパイルし、
android.policysmalicomandroidinternalpolicyimplPhoneWindowManager.smali
を開き、
.line 2648の下にある8082行目以降、
iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemTop:I
iput v0, p1, Landroid/graphics/Rect;->top:I
.line 2649
iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemRight:I
iput v0, p1, Landroid/graphics/Rect;->right:I
.line 2650
iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemBottom:I
iput v0, p1, Landroid/graphics/Rect;->bottom:I
.line 2651を削除します。
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mStatusBar:Landroid/view/WindowManagerPolicy$WindowState;
if-eqz v0, :cond_1b
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 2653
:goto_1a
return v0
.line 2652
:cond_1b
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mNavigationBar:Landroid/view/WindowManagerPolicy$WindowState;
if-eqz v0, :cond_26
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_1a
.line 2653
:cond_26
const/4 v0, 0x0
goto :goto_1a
.end methodの上に
const/4 v0, 0x0を追加して、保存してandroid.policy.jarをコンパイルします。
return v0
(deodexされていない場合はdexopt-wrapperでodexに変換)
次に透過度を指定します。
SystemUI esaluesdrawables.xml
を開き、
<item type="drawable" name="status_bar_background">#5a000000</item>
と書き換えます。
SystemUI eslayout
avigation_bar.xml
を開き
android:id="@id/nav_background" android:background="#ff000000"を
android:id="@id/nav_background" android:background="#5a000000"
にします。
SystemUIsmalicomandroidsystemuistatusbarphonePhoneStatusBar.smali
を開いて「IIIII」を検索します。(参考:891行目)
const/16 v3, 0x7e3を
const v4, 0x800068
move v2, v1
move v5, v1
invoke-direct/range {v0 .. v5}, Landroid/view/WindowManager$LayoutParams;-><init>(IIIII)V
const/16 v3, 0x7e3にします。
const v4, 0x800068
const/4 v5, -0x3
move v2, v1
invoke-direct/range {v0 .. v5}, Landroid/view/WindowManager$LayoutParams;-><init>(IIIII)V
続けて「mPixelFormat:I」を検索します。(参考:5608行目)
.line 441を
:cond_1
:goto_4
iput v8, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPixelFormat:I
.line 441にします。
:cond_1
:goto_4
const/4 v5, -0x3
iput v8, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPixelFormat:I
全て保存した後SystemUI.apkをコンパイルし、
SystemUI.apkとandroid.policy.jar(またはandroid.policy.odex)を端末にコピーし、
deodexされている場合はSystemUI..odexとandroid.policy.odexを削除(または名前の変更)してください。
※Xperia Launcherなど一部のホームアプリではうまく透過されないようです。
333用ファイルはここからダウンロードできます。
SystemUI.apkとandroid.policy.odexを置き換えます。SystemUI.odexの削除は自分でしてください。
(SystemUI.apkは自分用に編集してあるので注意してください)