Я использую ActionBarSherlock. Я хочу иметь возможность отображать две кнопки на панели действий в ответ на определенную операцию пользователя. Операция пользователя совершенно не связана с панелью действий. Видимость кнопок нужно контролировать, вызывая метод. Кроме того, ответ на нажатие этих кнопок должен обрабатываться моим собственным кодом приложения.
Кнопки в идеале должны выглядеть точно так же, как те, которые создаются при определении элементов меню как элементов действий с помощью android:showAsAction="ifRoom|withText"
, как показано здесь .
Моя проблема заключается в том, что, насколько я могу судить, стандартный API ActionBar
не предоставляет такого механизма для отображения или скрытия кнопок элементов действий по желанию, и единственное время, когда элементы меню могут быть определены, находится в пределах onCreateOptionsMenu()
, что курс, вызванный системой.
Я считаю, что единственный способ, которым я собираюсь добавить такие кнопки и показать / скрыть их по желанию, — это создать для них собственный макет и использовать .setCustomView()
, чтобы поместить их на панель действий. Люди в целом согласятся с этим, или я что-то упустил?
Если я пойду по пути использования .setCustomView()
, я хотел бы, чтобы мои кнопки выглядели идентично кнопкам элементов действий, которые ActionBarSherlock отображает для пункта меню с атрибутом android:showAsAction="ifRoom|withText"
. Чтобы сделать это, может ли кто-нибудь посоветовать мне, какую конкретную тему, стиль или макеты из библиотеки ActionBarSherlock мне следует использовать? Я уже пытался использовать R.layout.abs__action_menu_item_layout
, но попытка раздуть этот макет создает исключение, связанное с colorStateList
, при попытке раздуть CapitalizingButton
, который содержит макет.