Изменение цвета группы пунктов меню в Android - PullRequest
0 голосов
/ 27 января 2019

Можно ли изменить фон определенного <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);
    ...
...