Изменить цвет пунктов меню - PullRequest
1 голос
/ 16 июня 2020

Я пытаюсь изменить цвет пунктов меню, но безуспешно.

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

Вот мои xml файлы. Есть идеи?

app_bar_navigationdrawer. xml

    <com.google.android.material.appbar.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/AppTheme.AppBarOverlay">

        <androidx.appcompat.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" /> 

    </com.google.android.material.appbar.AppBarLayout>

    <include layout="@layout/content_navigation_drawer" />

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|end"
        android:layout_margin="@dimen/fab_margin"
        app:srcCompat="@drawable/ic_baseline_add_circle_outline_24" />

</androidx.coordinatorlayout.widget.CoordinatorLayout>

цветов. xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#ff0125</color>  <!-- 6200EE -->
    <color name="colorPrimaryVariant">#ff5a50</color>  <!-- 3700B3 -->
    <color name="colorSecondary">#ff9100</color>9e9e9e <!-- 03DAC6 -->
    <color name="colorSecondaryVariant">#c56200</color> <!-- 018786 -->
    <color name="colorBackground">#eeeeee</color>  <!-- FFFFFF -->
    <color name="colorSurface">#eeeeee</color> <!-- FFFFFF -->
    <color name="colorError">#B00020</color>
    <color name="colorOnPrimary">#FFFFFF</color>
    <color name="colorOnSecondary">#000000</color>
    <color name="colorOnBackground">#000000</color>
    <color name="colorOnSurface">#000000</color>
    <color name="colorOnError">#FFFFFF</color>
    <color name="actionBarColor">#c30000</color>
</resources>

цветов-ночь. xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#dc462b</color> <!-- BB86FC -->
    <color name="colorPrimaryVariant">#ff6434</color> <!-- 3700B3 -->
    <color name="colorSecondary">#8858c8</color> <!-- 03DAC6 -->
    <color name="colorSecondaryVariant">#bb86fc</color> <!-- 03DAC6 -->
    <color name="colorBackground">#121212</color>
    <color name="colorSurface">#121212</color>
    <color name="colorError">#CF6679</color>
    <color name="colorOnPrimary">#000000</color>
    <color name="colorOnSecondary">#000000</color>
    <color name="colorOnBackground">#FFFFFF</color>
    <color name="colorOnSurface">#FFFFFF</color>
    <color name="colorOnError">#000000</color>
    <color name="actionBarColor">#121212</color>
</resources>

Как видно из вложений, цвет пункта меню не меняется ни на свету, ни на темной теме. dark theme light theme

1 Ответ

0 голосов
/ 16 июня 2020

Вы можете изменить цвет, используемый в меню панели инструментов.

  <com.google.android.material.appbar.MaterialToolbar
        style="@style/Widget.MaterialComponents.Toolbar.Primary"
        app:popupTheme="@style/AppTheme.PopupOverlay"
        />

с помощью:

<style name="AppTheme.ToolabePopupOverlay" parent="ThemeOverlay.MaterialComponents.Toolbar.Primary">
    <item name="colorSurface">@color/...</item>  <!-- background -->
    <item name="android:textColor">@color/...</item>   <!-- text color -->
</style>

enter image description here

Работает также для androidx.appcompat.widget.Toolbar.

...