Android appbarlayout标高显示在状态栏中

我如何摆脱状态栏中的高程? 如果我在AppbarLayout中将应用程序:elevation设置为0dp,则在状态栏中不会再显示高程,也不会在AppbarLayout下方显示。

如何获得AppbarLayout下的高程?

这里是我的意思是一个截图: puush链接 ,注意状态栏中的阴影:(

谢谢!

Solutions Collecting From Web of "Android appbarlayout标高显示在状态栏中"

我们关心的是状态栏透明时AppBarLayout阴影。 有一个不透明的状态栏在任何时候都不可行。 这只发生在棒棒糖&以上只是因为dynamic阴影渲染。 在棉花糖错误的阴影看起来更糟糕。

最佳解决scheme

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

现在,将AppBarLayout包装在另一个具有android:fitsSystemWindows="false" CoordinatorLayout中。 这将防止阴影溢出到状态栏


其他解决方法 (不推荐)

在你的风格删除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”,但是也会删除底部的阴影。