使用工具栏以颜色作为背景的项目菜单

Item Menu with a color as background using Toolbar

我正在使用 AppCompat v21 支持库中的工具栏,我想在项目中添加一种颜色作为背景。

I want something like this (Image link)

我无法将背景设置为工具栏的全高

I am getting this (Image link)

我的代码: menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:xxxx="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/action_search"
        android:icon="@drawable/new_action_search"
        android:title="@string/buscador_hint_busqueda"
        xxxx:actionViewClass="android.support.v7.widget.SearchView"
        xxxx:showAsAction="collapseActionView|ifRoom"
        />
    <item
        android:id="@+id/action_search_filter"
        android:title="@string/buscador_filtrar"
        android:icon="@drawable/ic_filter"
        xxxx:showAsAction="ifRoom|withText" />
    <item
        android:id="@+id/action_save"
        android:title="@string/buscador_save"
        android:icon="@drawable/action_item_save_icon"
        xxxx:showAsAction="ifRoom"/>
</menu>

action_item_save_icon.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape>
            <solid android:color="@color/green_bumeran_material"></solid>
            <size
                android:height="?attr/actionBarSize"
                android:width="?attr/actionBarSize" />
        </shape>
    </item>
    <item>
        <bitmap android:src="@drawable/ic_pin_save" />
    </item>
</layer-list>

您可以在工具栏中使用视图而不是菜单,制作您自己的布局

创建具有您想要的外观的 xml 布局。确保高度="match_parent"。获取您的菜单,然后使用 menu.getItem(int). Then on your MenuItem do menuItem.setActionView() 使用膨胀布局或该布局的资源 ID 获取适当的项目。