如何摆脱状态栏中的高程?如果我在AppbarLayout中设置应用程序:提升到0dp,状态栏中不再出现提升,也不会低于AppbarLayout。
如何在AppbarLayout下获得高程?
以下是我的意思截图:puush link,注意状态栏中的阴影:(
谢谢!
答案 0 :(得分:24)
我们关注的是当状态栏透明时AppBarLayout
的阴影。拥有不透明的状态栏在任何时候都不可行。这发生在Lollipop&上面只是因为动态阴影渲染。在棉花糖上,错误的阴影看起来更糟。
最佳解决方案
您的根布局应始终android:fitsSystemWindows="true"
,否则您的UI不会在状态栏后面绘制。
现在将AppBarLayout
包含在另一个CoordinatorLayout
内android:fitsSystemWindows="false"
。这样可以防止阴影溢出到状态栏
其他解决方法(不推荐)
在你的Style中删除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”,但这也会删除底部的阴影。