2012-06-14 5 views
3

Как изменить цвет кнопки menuitem при нажатии. Я использую SherlockActionBar, но когда он нажал, он меняет цвет на тот, который не очень хорош для моего дизайна. Мне нужно изменить этот цвет.ActionBar измените цвет кнопки menuitem при нажатии

Обновлено:

Дело в том, когда я установил Drawable я помещен на фоне и когда кнопка нажата, то изменение bckground возле моих рисуемых изменений. Я могу изменить растягиваемый, но фон все равно изменит его цвет на уродливый.

ответ

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

Надеется, что это помогает.

+0

Я отредактировал свой вопрос – Stas

8

Вы можете изменить фон, установив атрибут actionBarItemBackground в свою тему. Это должно быть списком состояний, который отражает состояния, такие как нажатие и фокусировка.

+0

С помощью созданной здесь темы он установил actionBarItemBackground, но все еще показывает исходную тему http://jgilfelt.github.com/android-actionbarstylegenerator/#name=example&compat=sherlock&theme=dark&actionbarstyle= transparent & backColor = 2D2D2D% 2C100 & secondaryColor = 151515% 2C100 & tertiaryColor = 3F3F3F% 2C100 & accentColor = 33B5E5% 2C100 – schwiz

+0

Имеет ли он как 'android: actionBarItemBackground', так и' actionBarItemBackground' в теме. Вам нужны оба в соответствии с документами ABS. –

+0

На самом деле, похоже, сейчас работает, я вносил изменения в свою тему, поскольку цвет TextView должен был временно сломать что-то. – schwiz

Смежные вопросы