码迷,mamicode.com
首页 > 移动开发 > 详细

Android statusbar 透明后 toolbar与之重叠问题的解决方法

时间:2016-05-08 21:15:51      阅读:336      评论:0      收藏:0      [点我收藏+]

标签:

之前想要给statusbar和toolbar实现这样的效果:

技术分享

为使得statusbar变为透明,在自定义theme中给statusbar添加了以下属性:

        <item name="android:windowTranslucentStatus">true</item>
可是在statusbar变透明后界面却变成下图这个样子:(即toolbar悬浮在statusbar之后)

技术分享

为了说明情况,我用另一个更明显的界面来解释:

技术分享

起初我简单粗暴的为toolbar加了一个marginTop属性,强制向下移动20多个dp,虽热表面上可以解决这个问题,可是众所周知,通过固定的dp数来布局页面是不合理的,因为不同大小手机的分辨率不同,statusbar的高度也有所不同。这样简单地加margin很有可能导致statusbar和toolbar出现间隙或重叠。

解决方法:

查阅资料后发现一个简单又科学的属性:

        <!--<item name="android:layout_marginTop">22dp</item>-->
        <item name="android:fitsSystemWindows">true</item>
我们把marginTop注释掉,选择将fitsSystemWindows属性设置为true,fitsSystemWindows属性为屏幕自动加入padding,使得所有内容都可以显示在主屏上,而避免被statusbar所掩盖,加上这个属性后顺利解决该问题:

技术分享


Android statusbar 透明后 toolbar与之重叠问题的解决方法

标签:

原文地址:http://blog.csdn.net/zafir6453/article/details/51344241

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!