android 状态栏透明,源码修改教程

首先找到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,

你可能感兴趣的:(android)