Android 如何在操作栏上设置特定项目的样式

Android 如何在操作栏上设置特定项目的样式,android,android-layout,android-actionbar,Android,Android Layout,Android Actionbar,我有一个包含3个项目的操作栏,并希望它们的样式有所不同(见下图)。问题是,当我按如下方式设置样式时: <style name="MyTheme2" parent="@android:style/Theme.Holo.Light"> <item name="android:actionBarStyle">@style/MyTheme.ActionBarStyle</item> <item name="android:actionMenuTe

我有一个包含3个项目的操作栏,并希望它们的样式有所不同(见下图)。问题是,当我按如下方式设置样式时:

<style name="MyTheme2" parent="@android:style/Theme.Holo.Light">
    <item name="android:actionBarStyle">@style/MyTheme.ActionBarStyle</item>
    <item name="android:actionMenuTextColor">#DAF9FE</item>
    <item name="android:actionMenuTextAppearance">@style/MyActionBar.MenuTextStyle</item>
</style>

<style name="MyTheme.ActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar">
    <item name="android:background">@drawable/ab_solid</item>
    <item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
</style>

<style name="MyTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
    <item name="android:textColor">#DAF9FE</item>
    <item name="android:textSize">22sp</item>
</style>

<style name="MyActionBar.MenuTextStyle" parent="android:style/TextAppearance.Holo.Widget.ActionBar.Title">
    <item name="android:textSize">18sp</item>
</style>

@style/MyTheme.ActionBarStyle
#DAF9FE
@style/MyActionBar.MenuTextStyle
@可拉伸/ab_实心
@style/MyTheme.ActionBar.TitleTextStyle
#DAF9FE
22便士
18便士
它将所有3个项目都设置为该主题。基本上,我只想在我的动作栏上的一个项目中添加一个背景图像,而不是将其应用于所有3个项目

item name=“android:selectableItemBackground”>@drawable/btn\u ab\u quick\u normal

有没有办法在不创建自定义视图的情况下执行此操作

我也尝试过用文字作为图片的一部分并设置text=“”,但图标显示得很小,因为动作栏图标是一个特定的尺寸

  • 下面的图片是我想要我的动作条的样子

您可以通过以下方式更改颜色:

ActionBar bar = getActionBar();
bar.setBackgroundDrawable(new ColorDrawable("COLOR"));
menu.xml
中,您可以向操作栏添加图标。像这样:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:id="@+id/action_search"
          android:icon="@drawable/ic_action_search"
          android:title="@string/action_search"/>
    <item android:id="@+id/action_compose"
          android:icon="@drawable/ic_action_compose"
          android:title="@string/action_compose" />
</menu>
如果你想要那个小小的按钮,我建议你打开Photoshop并创建一个新项目


我希望这有助于……;)

谢谢,但是setBackgroundDrawable设置了动作栏的背景,我只想设置一个动作栏项目的背景。我已经在做你说的所有事情来添加项目和扩大菜单。然后你应该使用photoshop。在Photoshop中,您可以在20秒内更改项目的颜色。如果你需要的话,你可以查看一下ScherlockActionBar。我也尝试过对图像进行photoshopping,但它将图像缩小到72x72,因为这是图标的尺寸。我想我必须在操作栏中添加一个customView。SherlockActionBar通常用于支持android 3.0及以下版本,因为当时没有actionbar。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu items for use in the action bar
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu, menu);
    return super.onCreateOptionsMenu(menu);
}