1

我需要更改 ActionBar 中 menuItem 的颜色(当用户在我的操作栏中按下 menuItem 时出现的列表)。

android:style/Widget.Holo.Light.ActionBar我必须改变哪个元素?

style我必须创建哪个来更改android:style/Widget.Holo.Light.ActionBar

4

1 回答 1

1

我不确定您是否可以为特定的 menuItem 执行此操作,但您可以查看更完整的博客文章,了解关于设置 ActionBar 样式:第 1部分和第 2 部分

编辑:再次查看文章后,我认为您想要做的事情是不可能的。最好的办法是创建一个具有适当颜色的菜单项的图标,并在需要时更改它。

菜单.xml:

<item android:id="@+id/my_menu_item"
android:icon="@drawable/my_menu_item_icon_color1"
android:title="@string/my_menu_item"
android:showAsAction="ifRoom" />

在您的活动中:

/**
 * Create default menu and keep it in a private var
 */
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.main_menu, menu);
    mMenuActionBar = menu;
    return true;
}


/**
 * Method changing your item to second icon
 */
private void updateActionBar() {
    if (mMenuActionBar != null) {
        MenuItem menuItem = mMenuActionBar.findItem(R.id.my_menu_item);
        if (menuItem != null) {
            menuItem.setIcon(@drawable/my_menu_item_icon_color2);
            invalidateOptionsMenu();
        }
    }
}
于 2012-10-03T12:19:40.287 回答