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);
    }
}