分享一个简单粗暴的沉浸式状态栏的方法, 之前一直使用的是三方, 但是有的时候简单的要求只是需要做到状态栏和主题色一样就可以了, 所以并不需要引用三方那么麻烦;
第一步: 将状态栏和导航栏设为透明
//透明状态栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
//透明导航栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
第二步:在你布局文件中加入如下代码
android:fitsSystemWindows="true"
android:clipToPadding="true"
这里说明一下, fitsSystemWindows的属性, 如果某个View 的fitsSystemWindows 设为true,那么该View的padding属性将由系统设置。系统会为该View设置一个paddingTop,值为statusbar(状态栏)的高度。
这样就很好理解了, 我们只需要在我们的布局文件的顶端加一个控件, 给这个控件加上主题色, 然后加上这两行代码, 这样就能做到我们之前的效果了, 一般情况下我们加入的是项目的title;
ps: 这个想要有效的大前提是你手机的版本要在4.4或者4.4以上才可以