Тень панели инструментов исчезает, когда цвет фона темный - PullRequest
0 голосов
/ 22 декабря 2018

Я занимаюсь разработкой приложения, в котором используется панель инструментов, обернутая в AppBarLayout, которая позволяет пользователю изменять темы приложения, применяя стиль темы.По какой-то причине, когда тема имеет темную панель инструментов, тень исчезает (или становится менее видимой?).

Вот моя панель инструментов в XML :

<android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

    <android.support.v7.widget.Toolbar
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/toolbar"
        android:background="?attr/colorPrimary"
        app:itemIconTint="@android:color/black"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        app:titleTextAppearance="?attr/actionBarTheme"
        android:theme="@style/ThemeOverlay.AppCompat.ActionBar" >

    <TextView
        android:id="@+id/toolbar_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        style="?attr/actionBarTheme"
        android:layout_gravity="center" />

    </android.support.v7.widget.Toolbar>

    </android.support.design.widget.AppBarLayout>

Я использую? Attr / colorPrimary для установки цвета фона панели инструментов.

Тема с белой панелью инструментов (тень присутствует и очень хорошо видна):

enter image description here

<style name="WhiteBlack" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@android:color/white</item>
    <item name="colorPrimaryDark">@android:color/white</item>
    <item name="colorAccent">@android:color/black</item>
    <item name="preferenceTheme">@style/PreferenceThemeOverlay</item>
    <item name="actionBarTheme">@style/ToolbarTitleDark</item>
    <item name="actionBarStyle">@style/ToolbarTitleDark</item>
</style>

<style name="ToolbarTitleDark" parent="@style/TextAppearance.Widget.AppCompat.Toolbar.Title">
    <item name="android:textSize">20sp</item>
    <item name="android:textColor">@android:color/black</item>
    <item name="colorControlNormal">@android:color/black</item>
</style>

Тема с более темной панелью инструментов (тень отсутствует или едва видима):

enter image description here

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="preferenceTheme">@style/PreferenceThemeOverlay</item>
    <item name="actionBarTheme">@style/ToolbarTitleLight</item>
    <item name="actionBarStyle">@style/ToolbarTitleLight</item>
</style>

<style name="ToolbarTitleLight" parent="@style/TextAppearance.Widget.AppCompat.Toolbar.Title">
    <item name="android:textSize">20sp</item>
    <item name="android:textColor">@android:color/white</item>
    <item name="colorControlNormal">@android:color/white</item>
</style>

Как сделать так, чтобы тень выглядела одинаково независимо от цвета фона панели инструментов?Я хочу, чтобы тень всегда выглядела так, как она выглядит в примере с белой панелью инструментов.

Спасибо !!

...