Android7.0及以后沉浸式状态栏变灰问题¶
在activity setContentView
之前,使用反射修改DecorView
的mSemiTransparentStatusBarColor
颜色。
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);
}
}