在Android中更改菜单项组的颜色

时间:2019-01-27 08:30:34

标签: android colors menu

可以更改特定<group>的背景吗?

我的菜单布局如下:

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

    <group
        android:id="@+id/group0"
        android:orderInCategory="0"
        >
    </group>

    <group
      android:id="@+id/group1"
      android:orderInCategory="1">

        <item android:id="@+id/menuItem1"
        android:checkable="true"
        android:title="@string/menuItem1"
        />

    ...
    </group>

    ...
</menu>

group0开头是空的,但是菜单项将在运行时添加到其中。无论要添加多少个项目,组所占据的整个矩形区域都应具有相同的颜色。

我试图通过更改添加到组中的每个菜单项的背景色来解决该任务,但是问题是它不占据菜单项的整个矩形区域,而是仅占据文本区域

    ...
MenuItem item = view.getOptionsMenu().add(R.id.group0, Menu.NONE, Menu.NONE, "title");

SpannableString s = new SpannableString(item.getTitle());
s.setSpan(new BackgroundColorSpan(ResourcesCompat.getColor(view.getActivity().getResources(), R.color.dull_green, null)), 0, s.length(), 0);
    ...

0 个答案:

没有答案