更改NavigationView的单个特定菜单项的背景颜色

我想在导航抽屉中的android菜单中设置所有标题项的背景颜色。我的布局如下:


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

  <item android:title="TopItem" android:id="@+id/top_item1"> // Here i want to set the background

    <menu>

      <group>

        <item android:id="@+id/sub_item1"

            android:title="SubItem" /> // Here no background

      </group>

    </menu>

  </item>

  <item android:title="TopItem" android:id="@+id/top_item2">

    <menu>

      <group>

       <item android:id="@+id/sub_item2"

            android:title="SubItem" />

        <item android:id="@+id/sub_item3"

            android:title="SubItem" />

       <item android:id="@+id/sub_item4"

            android:title="SubItem" />

      </group>

    </menu>

</menu>

结果应该看起来像:

http://img.mukewang.com/5dad61810001c12604030536.jpg

我发现我可以使用类似的方法设置文本颜色:


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);


if (menuItem.getItemId()==R.id.nav_targets){            

  menuItem.setTitle(s); }

但是如何设置填充背景色?


蓝山帝景
浏览 1381回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP