安卓ActionBar溢出复选框样式

3
在我的应用程序中,我有一个自定义的复选框可绘制对象,并且在默认情况下在一般接口区域中运行,但是当存在可选择项目时,它不会显示在溢出菜单中,而是显示默认的霍洛复选框!
这里是自定义复选框的示例。
这是我如何能够为溢出菜单设置样式(非常困难),我正在寻找像这样的样式,可以覆盖复选框。
<style name="OverflowMenu" parent="@style/Widget.Sherlock.ListPopupWindow">
    <item name="android:popupBackground">@drawable/pop_dark</item>
</style>

<style name="DropDownListView" parent="@android:style/Widget.Holo.ListView.DropDown">
    <item name="android:divider">@android:color/transparent</item>
</style>

你最终解决了这个问题吗? - Jared Rummler
很遗憾,目前还没有解决方案。我认为唯一的解决方法是手动实现弹出菜单,并拥有自定义列表项。但显然,在整个项目中这将非常耗时。 - Derek
谢谢您的快速回复。如果我弄清楚了,我会在这里回复。 - Jared Rummler
作为一个离题的侧面说明 - 你坚持使用ActionBarSherlock而不使用ActionBarCompat有什么原因吗? - Thomas Keller
1个回答

4
如果您在主题中覆盖android:listChoiceIndicatorMultiple,它将应用于所有复选框,包括常规UI和弹出菜单中的复选框。
<style name="AppTheme" parent="android:Theme...">
    <item name="android:listChoiceIndicatorMultiple">@style/YourCheckBoxStyle</item>
</style>

如果您只想为操作栏中的复选框设置主题,则可以使用自 API 14 起提供的 android:actionBarWidgetTheme

<style name="AppTheme" parent="android:Theme...">
    <item name="android:actionBarWidgetTheme">@style/MyActionBarWidgetScheme</item>
</style>
...
<style name="ActionBarWidgetTheme" parent="android:Widget">
    <item name="android:listChoiceIndicatorMultiple">@drawable/YourCheckBoxStyle</item>
</style>

(感谢Daniel Lew 指出这一点。)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接