window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(Color.TRANSPARENT);
}
其实想要沉浸式状态栏,只需要设置View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
属性足够了,其他的只是些通用做法。比如View.SYSTEM_UI_FLAG_LAYOUT_STABLE
是设置状态栏字体颜色还是跟随系统。window.setStatusBarColor(Color.TRANSPARENT)
是设置状态栏为全透明
上面代码的作用就是状态栏的高度没有了,但是注意状态栏的显示还是有的,就是这样:
是不是很丑?这时候你的产品经理肯定会不满意,要你改,我猜他是不是想要这种效果:
如果我猜对了,那么就继续看吧!
2.