1.android支持开发者的版本是19以上
2. 19 - 21 之间只能修改状态栏的透明状态:
1.不透明
2.半透明(有一个黑色渐变的效果,布局会从状态栏开始布局)
21以上版本的状态:
1.不透明
2.半透明(有一个黑色阴影效果,布局会从状态栏开始布局,ps: 国内有些手机 直接更改成全透明,透明状态下 布局会覆盖状态栏)
3.指定颜色(只有在不是半透明的情况下才可以修改颜色。同时也可以直接将颜色设置为透明)
3.修改方法:
<21版本: 21以下的只能修改状态栏的半透明状态只需新建一个v19 style里面设置
<item name="android:windowTranslucentStatus">true</item>
>21版本:
1.半透明:同上只需修改包的版本
2.颜色:<item name="android:windowTranslucentStatus">false</item>
<item name="android:statusBarColor">#ff0000<item>(目前状态栏还不会被覆盖)
ps:如果需要设置成全透明需要加上:
<item name="android:windowTranslucentNavigation">true</item>(会触发布局覆盖状态栏)
代码修改方式:
val window =window
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS or WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION)
// window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LAYOUT_STABLE(注:view.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 使用后 会是布局 从状态栏开始布局,View.SYSTEM_UI_FLAG_LAYOUT_STABLE 保持 布局的稳定性 不会被拉伸)
window.statusBarColor = Color.RED
4.最后一点:
>21版本 在主题设置中<item name ="android:colorPrimaryDark"> </item> 可以规定状态栏颜色