1. 顶部状态栏和底部导航栏的沉浸式效果设置
- View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR :顶部状态栏的风格设置,这里也是白底黑色图标风格
- View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR : 底部导航栏的风格设置,两套显色方法,白色和黑色,默认为黑色,这里设置为白底黑色
- getWindow().setNavigationBarColor : 设置底部导航栏颜色
- mSemiTransparentStatusBarColor : 设置顶部状态栏背景色
2. 实现的demo函数块如下
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N){
int mBgColor = Color.WHITE;
Class decorViewClazz = Class.forName("com.android.internal.policy.DecorView");
// 设置顶部状态栏背景色
Field field = decorViewClazz.getDeclaredField("mSemiTransparentStatusBarColor");
field.setAccessible(true);
field.setInt(getWindow().getDecorView(), mBgColor);
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
// 顶部状态栏的风格设置,这里也是白底黑色图标风格
| View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
// 底部导航栏的风格设置,两套显色方法,白色和黑色,默认为黑色,这里设置为白底黑色
| View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR);
// 设置底部导航栏颜色
getWindow().setNavigationBarColor(mBgColor);
} catch (Exception e) {}
}