Изменение цвета пунктов меню не работает - PullRequest
0 голосов
/ 11 марта 2020

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

Для этого я сначала создал стиль, который должен содержать соответствующий атрибут, а затем вызвал этот стиль в моем Activity_home_drawer. xml. Тем не менее, это изменяет меню TextColor только при щелчке по соответствующему заголовку меню, но оно не является постоянным, как хотелось бы.

Что мне нужно сделать, чтобы цвет текста в моем меню навсегда изменился на белый, а не черный больше? Мой способ сделать это правильно или есть более элегантный способ изменить TextColor?

Спасибо за любую помощь!

Часть моего Activity_home_drawer. xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:showIn="navigation_view"
    android:theme="@style/TextAppearance44">

    <group android:id="@+id/category_group">
        <item
            android:id="@+id/nav_menu"
            android:icon="@drawable/ic_store_black_24dp"
            android:title="@string/menu_menu"
            android:theme="@style/TextAppearance44"
            />
    </group>

My TextAppearance44 style

 <style name="TextAppearance44">
        <item name="android:textColor">@color/colorWhite</item>
        <item name="android:actionMenuTextColor">@color/colorWhite</item>
        <item name="android:textSize">16sp</item>
        <item name="android:titleTextColor">@color/colorWhite</item>

    </style>

Ответы [ 2 ]

0 голосов
/ 11 марта 2020

Я решил это сам; Я добавил их в строки в моем NavigationView в моем ActivityHome (где появляется меню).

app:itemTextColor="@color/colorWhite"
app:itemIconTint="@color/colorWhite"

Простая ошибка, я не знал, что такой атрибут был.

0 голосов
/ 11 марта 2020

Вам нужно изменить стиль панели инструментов. Проверьте эти два руководства:

Назначение панели инструментов для действий и стилей: https://android-developers.googleblog.com/2014/10/appcompat-v21-material-design-for-pre.html?m=1

Изменение стиля и цвета элементов на панели инструментов: https://www.murrayc.com/permalink/2014/10/28/android-changing-the-toolbars-text-color-and-overflow-icon-color/

В вашем случае вы ищете в основном (фрагмент кода из второго урока):

  <!-- android:actionMenuTextColor is the color of the text of
        action (menu) items in the Toolbar, at least in the
        Theme.AppCompat theme.
        For some reason, they already get the textColorPrimary
        when running on API 21, but not on older versions of
        Android, so this is only necessary to support older
        Android versions.-->
        <item name="actionMenuTextColor">@color/abc_primary_text_material_light</item>
...