我有一个问题,就是我想要样式化自定义复选框菜单项ActionBar。我已经实现了它,但是它没有样式。
我想使用资源更改它:
如果复选框被选中:
如果复选框未被选中:
这是我的菜单项Action Bar.xml:
那么如何解决呢?谢谢。对不起我的英语不好。
我想使用资源更改它:
如果复选框被选中:
![enter image description here](https://istack.dev59.com/o2MNC.webp)
![enter image description here](https://istack.dev59.com/8o1Hx.webp)
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.tracking.bus.maps.SingleViewMapsActivity" >
<item
android:id="@+id/actionbar_alarm"
android:title="@string/actionbar_alarm"
app:actionViewClass="android.widget.CheckBox"
app:showAsAction="ifRoom"/>
<item
android:id="@+id/actionbar_interval"
android:title="@string/actionbar_interval"
app:actionViewClass="android.widget.Spinner"
app:showAsAction="ifRoom"/>
<item
android:id="@+id/actionbar_log_track"
android:title="@string/actionbar_log_track"
app:showAsAction="never"/>
</menu>
<style name="Theme.Myab" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="actionBarItemBackground">@drawable/selectable_background_myab</item>
<item name="popupMenuStyle">@style/PopupMenu.Myab</item>
<item name="dropDownListViewStyle">@style/DropDownListView.Myab</item>
<item name="actionBarTabStyle">@style/ActionBarTabStyle.Myab</item>
<item name="actionDropDownStyle">@style/DropDownNav.Myab</item>
<item name="actionBarStyle">@style/ActionBar.Solid.Myab</item>
<item name="actionModeBackground">@drawable/cab_background_top_myab</item>
<item name="actionModeSplitBackground">@drawable/cab_background_bottom_myab</item>
<item name="actionModeCloseButtonStyle">@style/ActionButton.CloseMode.Myab</item>
<item name="spinnerDropDownItemStyle">@style/DropDownItem.Myab</item>
<item name="android:spinnerItemStyle">@style/SpinnerItem.Myab</item>
<item name="android:checkboxStyle">@style/customCheckBoxStyle.Myab</item>
<item name="actionBarWidgetTheme">@style/Theme.Myab.Widget</item>
</style>
<!-- style checkbox -->
<style name="customCheckBoxStyle.Myab" parent="@android:style/Widget.CompoundButton.CheckBox">
<item name="android:button">@drawable/custom_checkbox_design</item>
</style>
custom_checkbox_design.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@drawable/alram_on" />
<item android:state_checked="false" android:drawable="@drawable/alram_off" />
</selector>
那么如何解决呢?谢谢。对不起我的英语不好。