0

我有一个包含 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>

它使用该主题设置所有 3 个项目。本质上,我想为我的操作栏上的一个项目添加背景图像,而不是将其应用于所有 3 个项目。

项目名称="android:selectableItemBackground">​​@drawable/btn_ab_quiz_normal

有没有办法在不创建自定义视图的情况下做到这一点?

我还尝试将带有文本的测验按钮图像作为图像的一部分并设置 Text="",但该图标显示得很小,因为操作栏图标是一个特定的尺寸。

  • 下图是我希望我的操作栏看起来的样子。

我想要的操作栏

4

1 回答 1

0

那么你可以用这个改变颜色:

ActionBar bar = getActionBar();
bar.setBackgroundDrawable(new ColorDrawable("COLOR"));

您可以在menu.xml您的 ActionBar 中添加图标。像这样:

<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>

main.xml从连接MainActivity。使用此代码:

@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);
}

如果你想要那个小按钮,我建议你打开 Photoshop 并创建新项目。

我希望它有帮助... ;)

于 2013-08-13T21:37:18.580 回答