如何消除状态栏中的高度?如果我在 AppbarLayout 中将 app:elevation 设置为 0dp,则标高不再出现在状态栏中,但也不会出现在 AppbarLayout 下方。
如何获取 AppbarLayout 下的高度?
这是我的意思的屏幕截图:推送链接 http://puu.sh/lmYpn/0141c962ce.jpg,注意状态栏中的阴影:(
Thanks!
我们关心的是阴影AppBarLayout
当状态栏透明时可见。拥有不透明的状态栏并不总是可行的。这种情况发生在 Lollipop 及以上版本上只是因为动态阴影渲染。在棉花糖上,错误的阴影看起来更糟糕。
最佳解决方案
你的根布局应该有android:fitsSystemWindows="true"
始终如此,否则您的 UI 将不会在状态栏后面绘制。
现在把AppBarLayout
在另一个里面CoordinatorLayout
其中有android:fitsSystemWindows="false"
。这将防止阴影溢出到状态栏
其他解决方法(不建议)
在您的样式中删除 statusBarColor:
<item name="android:statusBarColor">@android:color/transparent</item>
所以你的主题是:
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
</style>
您也可以简单地在 appbarlayout 上设置 app:elevation="0dp" ,但这也会消除底部的阴影。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)