Android Xamarin:使用Color以编程方式添加Radio Buttons

时间:2017-03-22 07:49:17

标签: android xamarin colors radio-button programmatically

我正在尝试建立这样的东西:

我的应用获得了一个问答数组。对于每个答案,我需要创建programmaticaly一个RadioButton(在图片中,例如4个单选按钮)。

所以我的第一个问题是,您是否会使用RadioButtons,或者您认为另一种解决方法可以更好地完成工作?

我的第二个问题:是否可以更改每个单选按钮的颜色,或者我如何为每个radioButton提供一个小视图,我可以设置背景颜色(有一个按钮,然后是一个小方块)颜色,然后是单选按钮的文本)

也许你可以帮助我:)

1 个答案:

答案 0 :(得分:0)

  

所以我的第一个问题是,您是否会使用RadioButtons,或者您认为另一种解决方法可以更好地完成工作?

是的,RadioButton适合这份工作。

  

是否可以更改每个单选按钮的颜色

是的,有可能。只需为android:button的{​​{1}}设置可绘制资源即可。例如:

RadioButton

我只为第一个<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> 创建选择器,并且选择器用于{{1 {}}和RadioButton状态checked