【发布时间】:2012-07-22 19:05:01
【问题描述】:
我正在使用 ActionBarSherlock。我希望能够在操作栏中显示两个按钮以响应某个用户操作。用户操作与 Action Bar 完全无关。按钮的可见性需要通过调用方法来控制。此外,对单击这些按钮的响应应由我自己的应用程序代码处理。
理想情况下,按钮应该看起来就像使用android:showAsAction="ifRoom|withText" 将菜单项定义为操作项时创建的按钮一样,如图here 所示。
我的问题是,据我所知,标准的ActionBar API 没有提供这样的机制来随意显示或隐藏操作项按钮,并且唯一可以定义菜单项的时间是在onCreateOptionsMenu() 内这当然是由系统调用的。
我的信念是,我要添加这样的按钮并随意显示/隐藏它们的唯一方法是为它们创建自定义布局并利用.setCustomView() 将它们放置到操作栏中。人们普遍同意这一点,还是我遗漏了什么?
如果我确实使用.setCustomView(),我希望我的按钮看起来与ActionBarSherlock 为具有android:showAsAction="ifRoom|withText" 属性的菜单项显示的操作项按钮相同。为此,谁能告诉我我应该使用 ActionBarSherlock 库中的哪些特定主题、样式或布局?我已经尝试过使用R.layout.abs__action_menu_item_layout,但尝试膨胀此布局会在尝试膨胀布局包含的CapitalizingButton 时产生与colorStateList 相关的异常。
【问题讨论】:
标签: android android-actionbar actionbarsherlock