Android 更改 NavigationView 中单个项目的背景颜色

Android Change background color of single item in NavigationView

如何更改导航视图中单个项目的背景颜色,即使它没有被选中?

在导航视图中使用它:

app:itemIconTint="your color"

创建菜单 class :

<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" />

现在 activity class :

    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);
      //for single item 
     if (menuItem.getItemId()==R.id.nav_targets){
              menuItem.setTitle(s);   
            }

资源/价值/styles.xml

<style name="TextAppearance">
    <item name="android:textColor">text_color</item>
    <item name="android:textSize">text_size</item>
</style>

这将设置单个项目的颜色和文本大小。 希望对您有所帮助!!