侵入式状态栏的实现很简单,只需要短短几行代码。
if (Build.VERSION.SDK_INT >= 21) {
View decorView = getWindow().getDecorView();
int option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
decorView.setSystemUiVisibility(option);
getWindow().setStatusBarColor(Color.TRANSPARENT);
}
然而,当做出来以后就发现自定义的actionbar(返回与标题)不能垂直居中了!
如图
而我们通过android studio的tools->android->layout inspector查看,则发现它其实是已经居中了,
如图
由于它原本是纯色的,于是作为一个能省则省的程序猿,我在settings layout下添加了android:fitsSystemWindows=”true”属性,又把getWindow().setStatusBarColor(Color.TRANSPARENT);的颜色修改为背景颜色,于是就这样解决了。
但这毕竟不是最终解决方案,因为如果背景是图片呢? 这样就会导致status bar与预期不符。
emmmm 至于图片的沉浸式解决方案,回头研究一下