Android appbarlayout高程显示在状态栏中

Joe*_*oen 19 android appbar android-elevation android-appbarlayout

如何摆脱状态栏中的高程?如果我在AppbarLayout中设置应用程序:提升到0dp,状态栏中不再出现提升,也不会低于AppbarLayout.

如何获得AppbarLayout下的高程?

这是我的意思截图:毛茸茸的链接,注意状态栏中的阴影:(

谢谢!

ana*_*bek 24

AppBarLayout当状态栏透明时,我们关注的是可见阴影.拥有不透明的状态栏在任何时候都不可行.只有动态阴影渲染才会在Lollipop及以上版本中发生这种情况.在棉花糖上,错误的阴影看起来更糟.

最佳方案

您的根布局应android:fitsSystemWindows="true"始终具有,否则您的UI将不会在状态栏后面绘制.

现在,包裹AppBarLayout内的另一个CoordinatorLayout拥有android:fitsSystemWindows="false".这样可以防止阴影溢出到状态栏


其他解决方法(不推荐)

在你的Style中删除statusBarColor:

<item name="android:statusBarColor">@android:color/transparent</item> 
Run Code Online (Sandbox Code Playgroud)

所以你的主题是:

<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
</style>
Run Code Online (Sandbox Code Playgroud)

你也可以在appbarlayout上简单地制作app:elevation ="0dp",但这也会删除底部的阴影.