首先说明一下为什么我要将这两个控件放在一起来说:RadioButton和CheckBox都是选择按钮。什么叫做选择按钮不用说了吧。RadioButton和CheckBox的区别是:RadioButton是单选按钮;CheckBox是多选按钮。举例来说明一下,有时候我们注册信息,需要选择性别,我们的选择只有一个所以我们只能选其一,这时候我们那就用RadioButton;有时候我们需要选择我们的特长,像读书,写字,画画之类我们可以选择其中的多个这时候我们就用CheckBox。因为这两个控件的用法比较相似所以我们放在一起来说一下。首先来说一下单选按钮RadioButton。
RadioButton
RadioButton一般和RadioGroup一起使用。RadioGroup中包含若干RadioButton,这些RadioButton构成了我们的选择项。例如:我们的性别有“男”,“女”。所以我们的选择项就有“男”和“女”两项。这两项就是一个RadioGroup,然后“男”和“女”分别是一个RadioButton。这样解释大家是不是就对RadioButton的使用有一个大体的了解了呢,那么接下来我们来看代码……(说多少都不如实际来操作一下……)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="性别:" android:textSize="25sp"/> <!--RadioGroup中定义两个RadioButton选择项 --> <RadioGroup android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="男"/> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="女"/> </RadioGroup> |
代码实现的结果:
经过操作我们可以知道,RadioGruop中定义的RadioButton只能选择其中的一个,只能选择“男”或者“女”。这就是RadioButton的特点:单选。这也就是告诉我们RadioButton不能单独使用。
设置默认选项
有时候我们提交数据给数据库处理,但是我们在填写数据的过程中忘记选择性别。这样就会提交一个不完整数据给数据库,以至于在处理数据的过程中出现错误。但是如果我们设置默认选项,即使我们忘记填写数据,也不会出现错误。那么我们如何在RadioButton中如何设置默认选项呢?看下面这段代码。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="性别:" android:textSize="25sp"/> <RadioGroup android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="男" android:checked="true"/> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="女"/> </RadioGroup> |
我们在“男”选择项的RadioButton中添加了一句代码android:checked="true"
,这样设置了“男”选择项处在选中的状态。那么,这样真的能结局我们的问题么,看下面结果:
默认状态下选中“男”,哇……好像真的解决我们的问题了:
但是,实际上当我们选中”女”的时候,“男”依然处在被选中状态……
哎,空欢喜一场,原来“android:checked=”true””的作用只不过是让选项始终处在选中状态。那么,我们到底医改如何解决默认选项的问题呢?
我们可以通过在RadioGroup中添加默认的选中项,通过语句android:checkedButton="@+id/radiobutton_man"
来设置默认选中项。具体代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<!-- 在RadioGroup中设置默认选中项--> <RadioGroup android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:checkedButton="@+id/radiobutton_man"> <RadioButton android:id="@+id/radiobutton_man" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="男"/> <RadioButton android:id="@+id/radiobutton_woman" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="女"/> </RadioGroup> |
这样就噢啦,问题就真的解决了……
如何修改选择框
有时候有同志会认为:这个RadioButton默认的选择框不是很好看,我可不可以修改一下啊。那答案当然是可以啦,下面我们来看如何去修改选择框。
Frist: 首先你要选择两张图片,一张是选择前的,一张是选择后的。将这两个图片复制到res文件夹下的mipmap文件夹中。一在此声明下,楼主这里使用的是AndroidStudio开发软件哦,Eclipse会有所不同哦。
Second: 在res下的dawable文件夹下创建一个xml文件。内容为: