Есть ли способ изменить цвета значков пунктов меню и текста? - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть пункты меню на панели навигации, такие как:

        ...
        <item
            android:id="@+id/nav_item_language"
            android:icon="@drawable/ic_language"
            android:title="@string/language" />
        <item
            android:id="@+id/nav_item_theme"
            android:icon="@drawable/ic_theme"
            android:title="@string/theme" />
    </group>
    <group
        android:id="@+id/nav_group_intents"
        android:checkableBehavior="none">
        <item
            android:id="@+id/nav_item_share"
            android:icon="@drawable/ic_share"
            android:title="@string/share" />
        <item
            android:id="@+id/nav_item_rate_app"
            android:icon="@drawable/ic_rate"
            android:title="@string/rate_app" />
        <item
            android:id="@+id/nav_item_contact_us"
            android:icon="@drawable/ic_contact_us"
            android:title="@string/contact_us" />
    </group>
</menu>

enter image description here

Я хочу, чтобы тексты и значки были самыми темными черными(# 000000) на темной теме и самый светлый белый (#FFFFFF) на светлой теме, но теперь они всегда имеют какой-то оттенок серого.

Я попытался поместить это как атрибут в элемент меню:

<item
    app:iconTint="@android:color/black"
    android:id="@+id/nav_item_language"
    android:icon="@drawable/ic_language"
    android:title="@string/language" />

И добавление этих элементов в стиль:

<style name="AppThemeLight" parent="Theme.AppCompat.Light.NoActionBar">
        ...
        <item name="android:itemTextAppearance">@android:color/black</item>
        <item name="android:actionMenuTextColor">@android:color/black</item>
    </style>

Для темной темы я пробую то же самое, но вместо этого @android:color/white, и независимо от того, что я делаю, я не могу поменять их с ихсерые цвета по умолчанию.

1 Ответ

0 голосов
/ 20 сентября 2018

В вашем макете XML-файла у вас есть NavigationView. Чтобы изменить цвет значка и текста, просто добавьте эти коды,

app:itemIconTint="#00xxxx"
app:itemTextColor="#00xxxx"
...