Android沉浸式状态栏
最近刚学这个。。自己记录写学习的步骤。。。
1.windowTranslucentStatus这个属性为true的时候,效果是这样的。
<item name="android:windowTranslucentStatus">true</item>
也就是说,这个属性的作用就是让控件显示在状态栏上。此参数支持api19以上。安卓4.4以上。
2.windowTranslucentNavigation这个属性为true的时候,效果是这样的。
<item name="android:windowTranslucentNavigation">true</item>
也就是说,这个属性的作用就是让控件显示在虚拟按键上。此参数支持api19以上。安卓4.4以上。
3.statusBarColor这个属性是设置状态栏的颜色的。此参数支持api21以上。安卓5.0以上。我们可以把他设置成透明,去除灰色阴影。(注意:<item name="android:windowTranslucentStatus">false</item>这个属性是false的时候,
<item name="android:statusBarColor">@color/transparent</item>这个设置才管用。statusBarColor 这个色值也可以设置其他颜色的,随意~)
4.fitsSystemWindows
<item name="android:windowTranslucentStatus">false</item> <item name="android:windowTranslucentNavigation">true</item> <!--Android 5.x开始需要把颜色设置透明,否则导航栏会呈现系统默认的浅灰色-->
<item name="android:statusBarColor">@color/transparent</item>
这个情况下给layout最外层布局加以下属性,界面效果如下。(其实这会儿的感觉跟最初什么也没有设置的样子差不多,自我感觉要这种效果的话,可以直接自己用statusBarColor把状态栏改成自己想要的颜色就ok了)
android:fitsSystemWindows="true"
需要修改底部虚拟按键的颜色的话。。。(<item name="android:windowTranslucentNavigation">true</item>
不写此方法的情况下,底部虚拟按键的颜色可用一下方法修改navigationBarColor。
<item name="android:navigationBarColor">@color/blue</item>写了windowTranslucentNavigation为true之后,底部虚拟按键的颜色会和layout的背景色一致,暂时没找到其他方法修改为不一样的。。。)
5.windowLightStatusBar 为true的时候,statusbar的文字颜色会变成灰色。此参数支持api23以上。安卓6.0以上。
(暂时只支持字是白色或者灰色两种切换,不过有的手机的那个灰色其实是显示的黑色的,和手机有一点关系的也。)
android P是api28。