Я изо всех сил пытаюсь заставить тень панели инструментов появляться на Android 28+.Я попробовал несколько предложенных решений, но ни одно не помогло.Следующие стили работают хорошо для всех устройств ниже 28:
toolbar.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.Toolbar
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toolbar"
style="@style/Widget.App.Toolbar"
android:layout_width="match_parent"
android:background="?attr/colorPrimary"
android:layout_height="?attr/actionBarSize"
/>
styles.xml
<style name="Widget.App.Toolbar.V1" parent="Widget.AppCompat.Toolbar">
<item name="android:layout_height">?attr/actionBarSize</item>
<item name="android:layout_width">match_parent</item>
<item name="android:background">?attr/colorPrimary</item>
<item name="popupTheme">@style/ThemeOverlay.AppCompat.Light</item>
<item name="android:theme">@style/ThemeOverlay.AppCompat.Dark.ActionBar</item>
</style>
styles.xml (v21)
<style name="Widget.App.Toolbar" parent="Widget.App.Toolbar.V1">
<item name="android:elevation">4dp</item>
</style>
Я также пытался установить высоту программно, безуспешно используя ViewCompat.setElevation
.
У кого-нибудь есть идеи, как заставить это работать?
UPD: Я знаю, что вы можете создавать настраиваемые тени, но я бы хотел избежать этого решения, если это возможно.Просто не могу понять, почему такая базовая функциональность требует дополнительной прорисовки и просмотра в макете.Кроме того, мне интересно, почему это работает на предыдущих версиях Android.Не нашли никаких доказательств того, что это поведение изменилось.