按下时,ActionBar会更改menuitem按钮的颜色

时间:2012-06-14 11:05:01

标签: android android-actionbar actionbarsherlock

如何在按下时更改menuitem按钮的颜色。我使用SherlockActionBar,但是当它被按下时,它会改变颜色,使其对我的设计不太好。我需要改变这种颜色。

更新

关键是当我设置drawable我放在背景上并按下按钮然后改变我的drawable附近的bckground更改。我可以改变drawable,但背景仍会改变它的颜色到丑陋的颜色。

2 个答案:

答案 0 :(得分:8)

您可以通过在主题中设置actionBarItemBackground属性来更改背景。这应该是一个状态列表drawable,它反映了压缩和聚焦等状态。

答案 1 :(得分:1)

这是单击菜单项时将图标更改为新图标的方法。 好的,首先创建一个成员变量并获取onCreateOptionsMenu()中菜单项的引用。

然后当您单击该项目时,将项目设置为新的drawable(您的颜色)

MenuItem mMenuItem;

.....

menu.add("Map").setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM  |     MenuItem.SHOW_AS_ACTION_WITH_TEXT);
mMenuItem = menu.getItem(0); 


......
mMenuItem.setIcon(android.R.drawable.ic_menu_set_as);

希望这有帮助。