这是我当前的抽屉导航的外观:

android - 更改抽屉导航菜单项的颜色-LMLPHP

我将其分为4组。我要尝试的是给每个组一个不同的文本颜色。我正在尝试将SETTINGSFEEDBACKTERMS AND CONDITIONS选项设置为具有较小的字体和稍微偏黑的颜色。我进行了搜索,但找不到单独定制抽屉导航组的方法。这是我为菜单编写的代码:

<menu xmlns:android="http://schemas.android.com/apk/res/android">


<group
    android:id="@+id/menu"
    android:checkableBehavior="single">

    <item
        android:id="@+id/nav_targets"
        android:icon="@drawable/icon_target"
        android:title="Targets" />

    <item
        android:id="@+id/nav_testing"
        android:icon="@drawable/icon_testing"
        android:title="Testing" />

    <item
        android:id="@+id/nav_course_work"
        android:icon="@drawable/icon_course_work"
        android:title="Course Work" />

    <item
        android:id="@+id/nav_schedule"
        android:icon="@drawable/icon_schedule"
        android:title="Schedule" />

    <item
        android:id="@+id/nav_profile"
        android:icon="@drawable/icon_profile"
        android:title="Profile" />

</group>

<group
    android:id="@+id/settings">
    <item
        android:title="SETTINGS"
        android:id="@+id/settings_item"></item>
</group>

<group
    android:id="@+id/feedback">
    <item
        android:title="FEEDBACK"
        android:id="@+id/feedback_item"></item>
</group>


<group
    android:id="@+id/TnC">
    <item
        android:title="TERMS &#038; CONDITIONS"
        android:id="@+id/t_n_c_item"></item>
</group>

有办法实现吗?

最佳答案

有两种方法可以分别自定义抽屉导航菜单项。

第一种方式:

MenuItem menuItem = navigationView.getMenu().findItem(R.id.menu_item);
SpannableString s = new SpannableString(menuItem.getTitle());
s.setSpan(new ForegroundColorSpan(TEXT_COLOR), 0, s.length(), 0);
s.setSpan(new AbsoluteSizeSpan(TEXT_SIZE_in_dip, true), 0, s.length(), 0);
menuItem.setTitle(s);

第二种方式:
MenuItem menuItem = navigationView.getMenu().findItem(R.id.menu_item);
SpannableString s = new SpannableString(menuItem.getTitle());
s.setSpan(new TextAppearanceSpan(this, R.style.TextAppearance), 0, s.length(), 0);
menuItem.setTitle(s);

res/值/styles.xml
<style name="TextAppearance">
    <item name="android:textColor">TEXT_COLOR</item>
    <item name="android:textSize">TEXT_SIZE_in_sp</item>
</style>

关于android - 更改抽屉导航菜单项的颜色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35764665/

10-11 09:26