因此,我添加了导航抽屉,因此我必须在布局xml文件中使用工具栏(而不是将主题与操作栏Theme.AppCompat.Light.DarkActionBar
一起使用,现在是Theme.AppCompat.Light.NoActionBar
)
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar"/>
</com.google.android.material.appbar.AppBarLayout>
我找到了此答案,可在工具栏(AppBarLayout
)https://stackoverflow.com/a/31026359/9766649
但它仅适用于Android 21 +
使用Theme.AppCompat.Light.DarkActionBar
阴影可以在旧版Android上正常工作
因此,唯一的解决方案是使用自定义阴影,例如https://stackoverflow.com/a/26904102/9766649?
答案 0 :(得分:0)
我决定对旧版和新版Android使用不同的实现方式
对于Android 21+(layout-v21 / activity_main.xml):
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android">
<include layout="@layout/toolbar_view"/>
</com.google.android.material.appbar.AppBarLayout>
<include layout="@layout/content"/>
</LinearLayout>
对于旧版Android(layout / activity_main.xml):
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include layout="@layout/toolbar_view"/>
<FrameLayout android:layout_width="match_parent"
android:layout_height="match_parent">
<include layout="@layout/content"/>
<View android:layout_width="match_parent"
android:layout_height="5dp"
android:background="@drawable/drop_shadow"/>
</FrameLayout>
</LinearLayout>
toolbar_view.xml:
<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppTheme.ActionBar"
xmlns:android="http://schemas.android.com/apk/res/android"/>
drawable / drop_shadow.xml(为旧版Android在工具栏下方添加海拔高度):
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient android:startColor="@android:color/transparent"
android:endColor="#88666666"
android:angle="90"/>
</shape>