如何在可检查的RadioButton
中设置PopupMenu
的颜色。我正在使用AppCompat版本。我通过样式成功设置了背景颜色和文本颜色,但我无法弄清楚如何设置单选按钮的颜色。
这是我到目前为止所拥有的;
<style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
<item name="popupMenuStyle">@style/myPopupMenuStyle</item>
<item name="textAppearanceLargePopupMenu">@style/myPopupMenuTextAppearanceLarge</item>
<item name="textAppearanceSmallPopupMenu">@style/myPopupMenuTextAppearanceSmall</item>
</style>
<style name="myPopupMenuStyle" parent="Widget.AppCompat.PopupMenu">
<item name="android:popupBackground">@color/accent</item>
<item name="android:textColor">@android:color/white</item>
</style>
<style name="myPopupMenuTextAppearanceSmall" parent="TextAppearance.AppCompat.Widget.PopupMenu.Small">
<item name="android:textColor">@android:color/white</item>
</style>
<style name="myPopupMenuTextAppearanceLarge" parent="TextAppearance.AppCompat.Widget.PopupMenu.Large">
<item name="android:textColor">@android:color/white</item>
</style>
我尝试了许多其他属性,但没有任何帮助。
答案 0 :(得分:2)
<style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
<item name="colorAccent">@color/radio_button_color</item>
<item name="android:textColorSecondary">@color/radio_button_color2</item>
</style>
来源:https://stackoverflow.com/a/26850668/1269953
colorAccent
是您的单选按钮的主要颜色,而textColorSecondary
就像没有选择单选按钮时的辅助颜色一样。在colorAccent
中使用AppCompat
时请注意,没有android:
前缀,这是在Lollipop
以下版本上使用它的正确方法
答案 1 :(得分:1)
根据Galdino在https://stackoverflow.com/a/34702166/2661303的回复,并根据Pztar的回复,以及一些反复试验,我找到了解决方案。我正在使用AppCompat PopupMenu 只需在样式文件中添加以下内容(无需向主题添加任何内容);
<style name="MyPopupTheme" parent="Widget.AppCompat.PopupMenu">
<item name="colorAccent">@color/primary_dark</item>
<item name="android:popupBackground">@color/accent</item>
<item name="android:textColor">@android:color/white</item>
<item name="android:textColorSecondary">@android:color/white</item>
</style>
然后在创建PopupMenu时,使用以下内容;
Context wrapper = new ContextThemeWrapper(getActivity(), R.style.MyPopupTheme);
PopupMenu popup = new PopupMenu(wrapper, bAnchor, Gravity.END | Gravity.RIGHT | Gravity.TOP, 0, R.style.MyPopupTheme);
我不知道为什么,但即使使用ContextThemeWrapper,我仍然必须将样式传递给构造函数。当我们使用ContextWrapper时,我们正在为此PopupMenu使用特定主题,因此我们可以仅覆盖PopupMenu的强调颜色。 所以现在我有一个反向的PopupMenu,强调颜色作为背景,文本和按钮为白色,选择按钮为原色。
希望这有助于某人,
Lionscribe
答案 2 :(得分:-1)
简单方法Android Holo Color 选择主题颜色,ON单选按钮选项,下载zip文件复制图片到drwable并将XML文件复制到drawable中并将其设置为