2012-06-14 125 views
3

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

更新时间:

的一点是,当我设置绘制我放置在背景和被按下时按钮,然后bckground的变化接近我绘制的变化。我可以更改drawable,但背景仍然会将其颜色改为丑陋的颜色。

回答

1

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

然后当您单击该项目设定的项目到一个新的绘制(你的颜色)

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

希望这有助于。

+0

我编辑了我的问题 – Stas

8

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

+0

使用此处生成的主题,它设置了actionBarItemBackground,但仍显示原始主题http://jgilfelt.github.com/android-actionbarstylegenerator/#name=example&compat=sherlock&theme=dark&actionbarstyle=透明&backColor = 2D2D2D%2C100&secondaryColor = 151515%2C100&tertiaryColor = 3F3F3F%2C100&accentColor = 33B5E5%2C100 – schwiz

+0

在主题中是否同时包含“android:actionBarItemBackground”和“actionBarItemBackground”。您需要根据ABS文档。 –

+0

其实,它似乎现在正在工作,我正在对TextView颜色的主题进行更改,必须暂时断开某些东西。 – schwiz