我想创建一个像这样的单选按钮:
即,选中时会显示一个勾号以表示已选择,未选中时只有橙色背景(或其他颜色)。
页面的黑色背景只是应用程序的背景。
我知道我可以为每个按钮的不同状态创建不同的可绘制图形,但是如果有很多颜色,这并不是非常可扩展的。
我正在考虑将勾号图像添加为android:button
属性的可绘制图像,并为单选按钮提供不同的android:background
颜色。 但是,由于背景的形状始终是正方形,因此它无法很好地工作。所以我最终得到了一个方形按钮。
如何实现这样的按钮? 或者,如何更改背景形状为圆形/椭圆形而不是正方形?
这是我目前拥有的:
<!-- layout.xml -->
<RadioButton
android:id="@+id/radio1"
android:layout_width="40dp"
android:layout_height="40dp"
android:background="@color/orange"
android:button="@drawable/radio"/>
<!-- drawable/radio.xml -->
<item
android:state_checked="true"
android:drawable="@drawable/checkmark_on_oval"
>
</item>