更改Android操作栏中按钮的背景

更改Android操作栏中按钮的背景,android,menu,android-actionbar,Android,Menu,Android Actionbar,我遇到了一个问题,我正在开发一个应用程序,我想更改操作栏按钮的背景色。我已作出以下决定: 在my menu.xml中,我有以下代码: <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" tool

我遇到了一个问题,我正在开发一个应用程序,我想更改操作栏按钮的背景色。我已作出以下决定:

在my menu.xml中,我有以下代码:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".main" >
    <item android:id="@+id/action_search"
        android:icon="@drawable/ic_search"
        app:showAsAction="always|collapseActionView"
        app:actionViewClass="android.support.v7.widget.SearchView"
        android:title="@string/action_search"/>
    <item android:id="@+id/action_carrito"
        android:title="@string/action_example"
        android:icon="@drawable/ic_carrito"
        app:showAsAction="always" />
</menu>

还有my styles.xml,我有:

<resources>
    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="android:actionBarStyle">@style/MyActionBar</item>
        <item name="actionBarStyle">@style/MyActionBar</item>

        <item name="actionButtonStyle">@style/MyActionButtonStyle</item>
        <item name="android:actionButtonStyle">@style/MyActionButtonStyle</item>
    </style>

    <style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
        <item name="android:background">@android:color/white</item>
        <item name="android:textSize">18sp</item>
    </style>

    <style name="MyActionButtonStyle" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="android:background">@color/darker_green</item>
    </style>

</resources>

@样式/MyActionBar
@样式/MyActionBar
@样式/MyActionButtonStyle
@样式/MyActionButtonStyle
@android:彩色/白色
18便士
@颜色/深绿色

两个按钮都捕捉此背景色。但我只想把它放在id为“@+id/action_carrito”的按钮上。我希望有人能帮助我。提前感谢。

如果您尝试创建一个
操作\u carrito\u bg.xml
,它是您的
可绘制文件夹下的
层列表,看起来像:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <solid android:color="@color/darker_green"></solid>
        </shape>
    </item>
    <item>
        <bitmap android:src="@drawable/ic_carrito"/>
    </item>
</layer-list>

首先,谢谢你的帮助。我这样做了,但我注意到按钮有一个“填充”,我认为这是默认设置。我的目标是,背景色在没有“填充”的情况下占据空间。添加照片:[/link]提前谢谢。请尝试在
标记内添加这一行。抱歉,我正在尝试添加您的代码,但不起作用,为什么?这就是我使用碎片的原因吗?谢谢。例外是:致命例外:主进程:xxx.xxxxxx.xxxxx.xxx,PID:23624 android.content.res.Resources$NotFoundException:File res/drawable/action_carrito_bg.xml来自drawable资源ID#0x7f020057,原因是:java.lang.UnsupportedOperationException:无法转换为维度:type=0x2我必须为ActionBar指定一个高度和宽度吗?抱歉,我已经够新手了。如果你想在
标签中添加
怎么办?
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".main" >
    <item android:id="@+id/action_search"
        android:icon="@drawable/ic_search"
        app:showAsAction="always|collapseActionView"
        app:actionViewClass="android.support.v7.widget.SearchView"
        android:title="@string/action_search"/>
    <item android:id="@+id/action_carrito"
        android:title="@string/action_example"
        android:icon="@drawable/action_carrito_bg"
        app:showAsAction="always" />
</menu>