我正在尝试构建这样的东西:我的应用得到一个问答数组。对于每个答案,我需要以编程方式创建一个RadioButton(例如,在图片中,有4个单选按钮)。所以我的第一个问题是,您会使用RadioButton,还是认为另一种方法会做得更好?第二个问题是否可以改变每个单选按钮的颜色,或者我如何给予每个RadioButton一个小View,在那里我可以设置背景颜色(一个有按钮,然后是一个有颜色的小方块,然后是单选按钮的文本)?
RadioButton
View
s4chpxco1#
所以我的第一个问题是,你会使用RadioButtons还是你认为另一种解决方案会做得更好?是的,这里的RadioButton适合这份工作。是否可以更改每个单选按钮的颜色是的,有可能。只需为RadioButton的android:button设置可绘制资源。例如:
android:button
<RadioGroup android:layout_height="wrap_content" android:layout_width="wrap_content" android:orientation="vertical" android:layout_marginLeft="5dp"> <RadioButton android:id="@+id/ware1" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="@string/Ware1" android:button="@drawable/gradient" android:paddingLeft="8dp" /> <RadioButton android:id="@+id/ware2" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="@string/Ware2" /> <RadioButton android:id="@+id/ware3" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="@string/Ware3" /> <RadioButton android:id="@+id/ware4" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="@string/Ware4" /> </RadioGroup>
我只为第一个RadioButton创建了一个选择器,这个按钮的背景色是渐变色,你可以以此为例创建你的:
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="false"> <layer-list> <item android:height="25dp" android:width="25dp"> <shape android:shape="oval"> <gradient android:startColor="#E0FFCD" android:endColor="#42FAA1" android:angle="45" /> <stroke android:width="2dp" android:color="#000000" /> </shape> </item> </layer-list> </item> <item android:state_checked="true"> <layer-list> <item android:height="25dp" android:width="25dp"> <shape android:shape="oval"> <gradient android:startColor="#E0FFCD" android:endColor="#42FAA1" android:angle="45" /> <stroke android:width="2dp" android:color="#2d1717" /> </shape> </item> <item android:height="10dp" android:width="10dp" android:gravity="center"> <shape android:shape="rectangle"> <solid android:color="#000000" /> </shape> </item> </layer-list> </item> </selector>
如果你觉得这太麻烦了,无法为每个按钮创建形状,你可以使用图像资源来替换它们,无论如何,你将需要为每个RadioButton创建选择器,并且选择器是针对RadioButton的checked和unchecked状态。
checked
unchecked
1条答案
按热度按时间s4chpxco1#
所以我的第一个问题是,你会使用RadioButtons还是你认为另一种解决方案会做得更好?
是的,这里的
RadioButton
适合这份工作。是否可以更改每个单选按钮的颜色
是的,有可能。只需为
RadioButton
的android:button
设置可绘制资源。例如:我只为第一个
RadioButton
创建了一个选择器,这个按钮的背景色是渐变色,你可以以此为例创建你的:如果你觉得这太麻烦了,无法为每个按钮创建形状,你可以使用图像资源来替换它们,无论如何,你将需要为每个
RadioButton
创建选择器,并且选择器是针对RadioButton
的checked
和unchecked
状态。