android toolbar 自定义布局变色,设置toolbar与状态栏颜色一致-沉浸式状态栏

设置沉浸式状态栏很简单,但在这里要重视下,这里有一个坑。就是包裹着toolbar的最外层布局不能设置android:fitsSystemWindows="true",如果设置了,就会无效果。

还有直接给layout_height设置?actionBarSize。toolbar内的布局会网上移动,覆盖手机的状态栏上。

设置可分为三部分

一、去掉应用的ActionBar,可为activity设置theme为

也可以添加:false

true

二、在toolbar布局中添加:android:minHeight="?actionBarSize"和android:fitsSystemWindows="true"。其中layout_height设置为wrap_content

fitsSystemWindows是ToolBar实现沉浸式状态栏的关键,其大概情况是,如果设为true,就会调整这个view去留一些空间给系统窗口,如果不设置或设为false,ToolBar就会和状态栏重叠在一起

三、在activity内也重新设置下,因为有些版本可能识别不了xml设置的android:fitsSystemWindows="true"

//手机顶部状态栏与toolbar颜色一致

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){

WindowManager.LayoutParams barLayoutParams=getWindow().getAttributes();

barLayoutParams.flags=(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS|barLayoutParams.flags);

}

这就是我简单设置沉浸式状态栏的方法,和遇到的问题

还有一个坑,就是键盘弹出,toolbar被拉伸的问题;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值