Skip to content

Android7.0及以后沉浸式状态栏变灰问题

在activity setContentView 之前,使用反射修改DecorViewmSemiTransparentStatusBarColor颜色。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
    try {
        Class decorViewClazz = Class.forName("com.android.internal.policy.DecorView");
        Field field = decorViewClazz.getDeclaredField("mSemiTransparentStatusBarColor");
        field.setAccessible(true);
        field.setInt(getWindow().getDecorView(), Color.TRANSPARENT);  // 改为透明
    } catch (Exception e) {
        Log.e(TAG, "onCreate: ", e);
    }
}

作者: rustfisher.com | rf.cs@foxmail.com
示例: AndroidTutorial Gitee, Tutorial Github
本文链接: https://www.an.rustfisher.com/android/ui/statusbar/android-7-adjust-status-bar-color/
一家之言,仅当抛砖引玉。如有错漏,还请指出。如果喜欢本站的内容,还请支持作者。也可点击1次下方的链接(链接内容与本站无关),谢谢支持服务器。 如有疑问,请与我联系:Android issues - gitee