单选框(RadioButton)和复选框(CheckBox)

1)RadioButton(单选按钮)

获得选中的值:

这里有两种方法,

第一种是为RadioButton设置一个事件监听器setOnCheckChangeListener


第二种方法是通过单击其他按钮获取选中单选按钮的值,当然我们也可以直接获取,这个看需求~

为提交按钮设置了一个setOnClickListener事件监听器,每次点击的话遍历一次RadioGroup判断哪个按钮被选中我们可以通过下述方法获得RadioButton的相关信息!

  • getChildCont( )获得按钮组中的单选按钮的数目;
  • getChinldAt(i):根据索引值获取我们的单选按钮
  • isChecked( ):判断按钮是否选中

2)CheckBox(复选框)

如题复选框,即可以同时选中多个选项,至于获得选中的值,同样有两种方式: 

1.为每个CheckBox添加事件:setOnCheckedChangeListener 

2.弄一个按钮,在点击后,对每个checkbox进行判断:isChecked();


2.自定义点击效果

虽然5.0后的RadioButton和Checkbox都比旧版本稍微好看了点,但是对于我们来说 可能还是不喜欢或者需求,需要自己点击效果!实现起来很简单,先编写一个自定义 的selctor资源,设置选中与没选中时的切换图片~!

我们有两种方法设置,也可以说一种吧!你看看就知道了~

①android:button属性设置为上述的selctor

android:button="@drawable/rad_btn_selctor"

②在style中定义一个属性,然后通过android style属性设置,先往style添加下述代码:

     name="MyCheckBox" parent="@android:style/Widget.CompoundButton.CheckBox">
         name="android:button">@drawable/rad_btn_selctor
    

然后布局那里:

style="@style/MyCheckBox"

3.改变文字与选择框的相对位置

Step 1. android:button="@null"    可以通过这方法来隐藏选中按钮
Step 2. android:drawableXxx="@android:drawable/btn_radio"


4.修改文字与选择框的距离

有时,我们可能需要调节文字与选择框之间的距离,让他们看起来稍微没那么挤,我们可以:
1.在XML代码中控制: 使用android:paddingXxx = "xxx" 来控制距离
2.在Java代码中,稍微好一点,动态计算paddingLeft!

你可能感兴趣的:(Android)