我只是想尝试使用不同的复选框,其外观看起来像一个单选按钮,就像一个内部带有绿灯的圆形按钮。我用Google搜索了很长时间,但没有找到解决方案,有没有办法做到这一点。
提前致谢。
答案 0 :(得分:21)
更好的方法是将CheckBox的样式设置为与RadioButton的样式匹配。
@android:风格/ Widget.CompoundButton.RadioButton
使CheckBox看起来像这样
<CheckBox style="@android:style/Widget.CompoundButton.RadioButton" />
效果很好!我的回答是灵感by this post.
答案 1 :(得分:3)
您可以将复选框的背景(图像)(更确切地说,通过样式而不是布局,更优雅)更改为您想要的任何内容,这样您就可以拥有类似单选按钮的复选框。
请查看this short tutorial,其中会显示实现目标的步骤。
答案 2 :(得分:1)
正如apostolov所说,要使您的复选框看起来像单选按钮,您可以像这样简单地设置复选框样式
<CheckBox style="@android:style/Widget.CompoundButton.RadioButton" />
但是,如果像我一样,您希望单选按钮的强调颜色与应用程序主题的颜色不同。您可能需要采取以下方法:
在复选框上设置以下属性:
<CheckBox
android:button="?android:attr/listChoiceIndicatorSingle"
android:theme="@style/RadioButtonPink"
/>
第一个属性使您的复选框具有android单选按钮外观,第二个主题属性是自定义按钮的强调色和常规颜色。在styles.xml文件中,定义要使用的主题:
<style name="RadioButtonPink">
<item name="colorAccent">@color/pink</item>
<item name="colorControlNormal">@color/grey</item>
<item name="colorControlActivated">@color/grey</item>
</style>
就我而言,当按钮被选中时,我想要一种粉红色的配色,否则就希望灰色。
答案 3 :(得分:0)
是的,正如rakaszeru所说,请尝试上面的选项,否则你只需通过扩展实现其onDraw()方法的复选框小部件来制作自己的自定义复选框组件