Android 如何为actionBar中显示的菜单项设置背景

Android 如何为actionBar中显示的菜单项设置背景,android,background,customization,menuitem,android-actionbar,Android,Background,Customization,Menuitem,Android Actionbar,我正在操作栏中显示一个菜单项。我想为这个项目设置一个背景。我不希望使用图标,因为否则我无法使用strings.xml进行本地化(我在这个特定菜单项中显示一些文本,这些文本将被翻译成几种语言) 这里的大多数答案都建议使用图标。图标当然会覆盖文本,如果我尝试用android:background代替android:icon,它就不会显示任何内容 因此,基本上我想用一个自定义图像自定义actionbar中的菜单项,但同时能够在上面写一些东西(拉一些字符串)。有没有一种方法可以在xml中实现这一点 另外

我正在操作栏中显示一个菜单项。我想为这个项目设置一个背景。我不希望使用图标,因为否则我无法使用strings.xml进行本地化(我在这个特定菜单项中显示一些文本,这些文本将被翻译成几种语言)

这里的大多数答案都建议使用图标。图标当然会覆盖文本,如果我尝试用android:background代替android:icon,它就不会显示任何内容

因此,基本上我想用一个自定义图像自定义actionbar中的菜单项,但同时能够在上面写一些东西(拉一些字符串)。有没有一种方法可以在xml中实现这一点


另外,我正在使用Theme.Holo.Light.darkaActionBar,但我已经更改了actionbar的背景。

作为一种解决方法,您可以始终使用不同的图标进行本地化。没有什么能阻止你拥有:

/drawable-fr/
/drawable-us/
另一方面,如果您认为这与您继承的主题有关,则可以查看DarkActionBar的源代码,然后在styles.xml中对其进行扩展,覆盖要更改的值(颜色)


为要在“drawable”目录的操作栏中显示的每个图标创建一个xml文件,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:drawable="@drawable/menuitem_bk"/>
    <item android:drawable="@drawable/icon_one"/>      
</layer-list>

Drawable icon_one仅是具有透明背景的图标,“menuitem_bk”将是一个可绘制图标,定义如下:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >
    <size
        android:height="36dp"
        android:width="36dp" />
    <solid android:color="@color/action_bar_items_bk_color" />
</shape>

您必须创建其中的四个,每个可绘制目录中一个(xhdpi、hdpi、mdpi和ldpi)。形状的大小因目录而异:

  • xhdpi->48x48 hdpi->36x36 mdpi->24x24 ldpi->18x18
(据此:)


还有你的带有背景的ActionBar图标。

谢谢你的提示,我将对此进行研究。我知道我可以使用drawables进行本地化,但让负责翻译的人翻译xml文件(可能没有图像编辑技能)比让他们编辑图像更容易。。。