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。

猜你喜欢

转载自blog.csdn.net/u013165058/article/details/80568777