Android沉浸式状态栏

本文记录了Android实现沉浸式状态栏的学习过程,包括windowTranslucentStatus、windowTranslucentNavigation属性的使用,如何设置statusBarColor以及fitsSystemWindows属性的应用,同时提到了修改底部虚拟按键颜色的方法,并介绍了windowLightStatusBar在api23及以上版本中改变statusBar文字颜色的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近刚学这个。。自己记录写学习的步骤。。。

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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值