android4.2.2修改狀態列透明
首先找到android/frameworks/base/policy/src/com/android/internal/policy/impl中的PhoneWindowManager.java類
然後找到 public int getSystemDecorRectLw(Rect systemRect) 的方法
原來的方法內容是:
public int getSystemDecorRectLw(Rect systemRect) {
systemRect.left = mSystemLeft;
systemRect.top = mSystemTop;
systemRect.right = mSystemRight;
systemRect.bottom = mSystemBottom;
if (mStatusBar != null) return mStatusBar.getSurfaceLayer();
if (mNavigationBar != null) return mNavigationBar.getSurfaceLayer();
return 0;
}
在這裡修改該方法為
public int getSystemDecorRectLw(Rect systemRect) {
systemRect.left = mSystemLeft;
systemRect.top = mSystemTop;
systemRect.right = mSystemRight;
systemRect.bottom = mSystemBottom;
if (mStatusBar != null) return 0;
if (mNavigationBar != null) return 0;
return 0;
}
這裡修改完畢以後,
進入android/frameworks/base/packages/SystemUI/res/layout目錄下
找到navigation_bar.xml和status_bar.xml檔案
然後把這個兩個佈局檔案的background屬性都修改為#00000000,
到此狀態列修改透明的步驟結束了,重新編譯frameworks或者編譯整個程式碼,燒如手機或平板,自己看吧,透明狀態列出現了,有不同的朋友可以隨時與我溝通。
http://blog.csdn.net/buhaixiang0923/article/details/9187861