我正在开发一个使用扩展@style/Theme.AppCompat.Light.DarkActionBar
的主题的应用。
在我的一项活动中,有一个Action Bar图标,显示了radiobuttons的三个选项(这里是菜单XML文件的摘录):
<item
android:icon="@drawable/ic_action_filter_white"
android:showAsAction="always"
android:title=""
preparatest:showAsAction="always">
<menu>
<group android:checkableBehavior="single" >
<item
android:id="@+id/menu_filter_all"
android:title="@string/history_list_filter_all"
android:checked="true"/>
<item
android:id="@+id/menu_filter_pending"
android:title="@string/history_list_filter_pending"/>
<item
android:id="@+id/menu_filter_finished"
android:title="@string/history_list_filter_finished"/>
</group>
</menu>
</item>
我想给这些radiobutton一个自定义样式,但我不知道在哪里做。在我的styles.xml文件中,我将自定义样式定义为
<style name="RadioButtonPTGreenTheme" parent="android:Widget.CompoundButton.RadioButton">
<item name="android:button">@drawable/ptgreentheme_btn_radio_holo_light</item>
</style>
尝试使用所有这四个选项,但无济于事:
<item name="android:radioButtonStyle">@style/RadioButtonPTGreenTheme</item>
<item name="android:listChoiceIndicatorSingle">@style/RadioButtonPTGreenTheme</item>
<item name="android:radioButtonStyle">@drawable/ptgreentheme_btn_radio_holo_light</item>
<item name="android:listChoiceIndicatorSingle">@drawable/ptgreentheme_btn_radio_holo_light</item>
有谁知道怎么做?谢谢!
答案 0 :(得分:1)
请参阅此blog post了解相关方法。
长话短说,android:actionBarWidgetTheme
用于设置依赖于操作栏的元素的样式,因此android:radioButtonStyle
应该放在actionBarWidgetTheme的样式中:
<style name="MyTheme" parent="@android:style/Theme.Holo.Light.DarkActionBar">
<item name="android:actionBarWidgetTheme">@style/MyActionBarWidgetTheme</item>
</style>
<style name="MyActionBarWidgetTheme" parent="@android:style/Theme.Holo">
<item name="android:radioButtonStyle">@style/MyRadioButtonStyle</item>
</style>