我需要更改ActionBar中menuItem的颜色(当用户在我的操作栏中按menuItem时显示的列表)。
我必须更改android:style/Widget.Holo.Light.ActionBar
的哪个元素?
我必须创建style
以更改android:style/Widget.Holo.Light.ActionBar
?
答案 0 :(得分:1)
我不确定您是否可以为特定的menuItem执行此操作,但您可以查看有关样式化ActionBar的更完整的博文:Part 1和Part 2
编辑:在看了另一篇文章之后,我认为你想做的事情是不可能的。最好的方法是创建一个具有适当颜色的menuitem的图标,并在需要时进行更改。
menu.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();
}
}
}