我使用 Android Studio 创建了一个带有新空白活动的新项目,我正在尝试删除>=API21 中工具栏下方的阴影。我尝试了很多东西。
这适用于
<item name="android:windowContentOverlay">@null</item>
这在>=API21 的手机中对我不起作用:
getSupportActionBar().setElevation(0);
<item name="android:elevation">0dp</item>
我不知道我还能尝试什么。任何帮助,不胜感激。编辑:我已经尝试了其他类似问题的所有内容,但没有任何效果。
正如@Vipul Asri所说,我必须添加app:elevation="0dp",但我把它添加到错误的地方。这有效:
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="android.teechart.steema.com.androiddemo.DashboardWebAnalytics">
<android.support.design.widget.AppBarLayout
app:elevation="0dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content_dashboard_web_analytics" />
</android.support.design.widget.CoordinatorLayout>
我正在android.support.v7.widget.Toolbar
中添加它,但正确的位置在android.support.design.widget.AppBarLayout
.
这个阴影是 LOLLIPOP 以下 API 上的 windowContentOverlay 的一部分(在 LOLLIPOP 上它是@null)。
使用工具栏小部件时,工具栏不再是窗口装饰的一部分,因此阴影从工具栏上方的窗口顶部开始,而不是在其下方(因此您希望windowContentOverlay
@null)。此外,您需要在工具栏下方添加一个额外的空视图 pre-LOLLIPOP,其背景设置为垂直阴影可绘制对象(从#20000000
到#00000000
8dp tall gradient
效果最好)。在LOLLIPOP上,您可以在工具栏上设置8dp高度。