带有工具栏的菜单中的单选按钮样式不起作用
Posted
技术标签:
【中文标题】带有工具栏的菜单中的单选按钮样式不起作用【英文标题】:Radio Button style in Menu with Toolbar not working 【发布时间】:2017-11-14 19:34:32 【问题描述】:我已尝试使用此 answer 在工具栏菜单项的单选按钮上应用样式,但它不适用于我。我想为 MenuItem 中的单选按钮应用复选标记样式,因此请帮助我提供适当的指导。
Style.xml
<!-- Base application theme. -->
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimary</item>
<item name="colorAccent">@color/colorPrimary</item>
<item name="android:textColorPrimary">@android:color/black</item>
<item name="windowActionModeOverlay">true</item>
<item name="windowActionBarOverlay">true</item>
<item name="android:windowActionBarOverlay">true</item>
<item name="android:windowBackground">@color/activity_bg</item>
<item name="android:windowDisablePreview">true</item>
<item name="alertDialogTheme">@style/AlertDialogCustom</item>
<item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
<item name="android:actionBarWidgetTheme">@style/MyActionBarWidgetTheme</item>
<item name="actionBarWidgetTheme">@style/MyActionBarWidgetTheme</item>
</style>
<style name="AppTheme" parent="AppTheme.Base">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
</style>
<style name="MyActionBarWidgetTheme" parent="android:Theme.Holo.Light">
<!--<item name="android:listChoiceIndicatorMultiple">@drawable/radiobutton_selector_checkmark</item>-->
<item name="android:radioButtonStyle">@style/Widget.RadioButton.CheckMark</item>
</style>
<style name="Widget.RadioButton.CheckMark" parent="Widget.AppCompat.CompoundButton.RadioButton">
<item name="android:textColor">@android:color/holo_red_light</item>
<item name="android:button">@drawable/radiobutton_selector</item>
<item name="android:background">@drawable/radiobutton_selector</item>
</style>
这是输出
Menu.xml
<item
android:id="@+id/action_filter"
android:icon="@drawable/ic_action_filter_white_24dp"
android:orderInCategory="2"
android:title="@string/action_filter"
app:showAsAction="always">
<menu>
<group android:checkableBehavior="single">
<item
android:id="@+id/filter_favorite"
android:title="Favorites"
android:checked="true"
app:showAsAction="never"/>
<item
android:id="@+id/filter_myProject"
android:title="My Projects"
app:showAsAction="never"/>
<item
android:id="@+id/filter_completed"
android:title="Completed"
app:showAsAction="never"/>
<item
android:id="@+id/filter_all"
android:title="All Projects"
app:showAsAction="never"/>
</group>
</menu>
【问题讨论】:
任何帮助将不胜感激。请帮帮我... 一切顺利?????? 【参考方案1】:我知道这是一篇旧帖子,但如果有人正在寻找答案,这里有一个关于如何做的链接(详细信息在最后):https://www.zoftino.com/android-ui-control-radiobutton
你必须使用selector
:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@drawable/radio_checked" />
<item android:drawable="@drawable/radio_unchecked" />
</selector>
drawable/radio_checked
和 drawable/radio_unchecked
是你的假复选框。
【讨论】:
以上是关于带有工具栏的菜单中的单选按钮样式不起作用的主要内容,如果未能解决你的问题,请参考以下文章