Android 控件五 RadioButton 控件

前言

本文简记 Android 控件 RadioButton 的常用属性及使用方法。

RadioGroup 控件

虽然单个的 RadioButton 控件也可以实现是否选中的功能,但是简单地将多个 RadioButton 控件并列在一起,每一个 RadioButton 控件都是独立的,而且选中后将无法简单地通过点击取消选择。

所以,由一个 RadioGroup 控件包含多个 RadioButton 控件组成一个单选列表是必要的。

RG 常用属性

基础属性

  • 请参阅:Android 布局与相关属性 的基础属性部分。

    包括:id 属性,宽度、高度属性,背景属性,内、外边距属性等。

排列方式属性

这一点同线性布局一样,拥有排列方式属性。

  • android:orientation=""

  • 值:横向/纵向排列。

    对应属性:

    纵向:android:orientation="vertical"
    横向:android:orientation="horizontal"
    

分割线属性

  • android:divider :就是将控件之间隔开。

RadioButton 控件常用属性

基础属性

  • 请参阅:Android 布局与相关属性 的基础属性部分。

    包括:id 属性,宽度、高度属性,背景属性,内、外边距属性等。

文本相关

  • 文本内容属性:android:text=""
  • 文本颜色属性:android:textColor=""
  • 文本字体大小属性:android:textSize="" ,一般单位 sp

权重属性

按钮样式属性

  • 按钮样式属性:android:button=""

    值:

    • @null :不显示选中按钮

    • @drawable/xxxxxx :使用 xxxxxx.xml 文件或 xxxxxx.PNG 等格式图片可以作为选中框的变化。

      这里的图片一般是 20~50dp * 20~50dp 的 PNG 等格式的图片。

  • android:button="@drawable/xxxxxx" 格式,可以通过 selector 格式 xml 文件,使用:

    • android:state_checked="" :设置选中时要触发的 <item>
    • android:drawable="" :配合 android:state_checked="" 显示对应图标。

    selector 格式 xml 文件示例:

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:drawable="@drawable/checked" android:state_checked="true" />
        <item android:drawable="@drawable/unchecked" android:state_checked="false" />
    </selector>
    

预先选中属性

  • 预先选中属性:android:checked=""

    值:

    • false :默认,不预先选中;
    • true :可设置,预先选中。

Java 监听选中变化

可以使用 RadioGroup 控件的监听选中变化方法进行监听操作。

  • 使用

    RadioGroup RG_1 = findViewById(R.id.RG_1);
    RG_1.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
    	@Override
    	public void onCheckedChanged(RadioGroup radioGroup, int i) {
    		RadioButton radioButton = radioGroup.findViewById(i);
    		Toast.makeText(RadioButtonShowActivity.this, radioButton.getText(), Toast.LENGTH_SHORT).show();
    	}
    });
    

    在 Activity 活动的 protected void onCreate(Bundle savedInstanceState) {} 中进行监听。

实例

猜你喜欢

转载自www.cnblogs.com/Yogile/p/13160301.html