• Android控件之CheckBox、RadioButton探究


    CheckBox和RadioButton控件都只有选中和未选中状态,不同的是RadioButton是单选按钮,需要编制到一个RadioGroup中,同一时刻一个RadioGroup中只能有一个按钮处于选中状态。

    以下为CheckBox和RadioButton常用方法及说明

     

    以下为单选按钮和复选按钮的使用方法

    目录结构

     

    main.xml布局文件

    <?xml version="1.0" encoding="utf-8"?>
    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width
    ="fill_parent"
    android:layout_height
    ="fill_parent"
    android:scrollbars
    ="vertical">
    <LinearLayout android:orientation="vertical"
    android:layout_width
    ="fill_parent"
    android:layout_height
    ="fill_parent">
    <!-- RadioButton控件演示 -->
    <ImageView android:id="@+id/imageView01"
    android:layout_width
    ="wrap_content"
    android:layout_height
    ="wrap_content"
    android:src
    ="@drawable/bulb_on"
    android:layout_gravity
    ="center_horizontal" />
    <RadioGroup android:id="@+id/radioGroup"
    android:orientation
    ="horizontal"
    android:layout_width
    ="wrap_content"
    android:layout_height
    ="wrap_content"
    android:layout_gravity
    ="center_horizontal">
    <RadioButton android:id="@+id/on"
    android:text
    ="开灯"
    android:layout_width
    ="wrap_content"
    android:layout_height
    ="wrap_content"
    android:checked
    ="true" />
    <RadioButton android:id="@+id/off"
    android:text
    ="关灯"
    android:layout_width
    ="wrap_content"
    android:layout_height
    ="wrap_content" />
    </RadioGroup>

    <!-- CheckBox控件演示 -->
    <ImageView android:id="@+id/imageView02"
    android:layout_width
    ="wrap_content"
    android:layout_height
    ="wrap_content"
    android:src
    ="@drawable/bulb_on"
    android:layout_gravity
    ="center_horizontal" />
    <CheckBox android:id="@+id/checkBox"
    android:text
    ="开灯"
    android:checked
    ="true"
    android:layout_width
    ="wrap_content"
    android:layout_height
    ="wrap_content"
    android:layout_gravity
    ="center_horizontal" />
    </LinearLayout>
    </ScrollView>

    CbRbActivity类 

    package com.ljq.activity;

    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.CheckBox;
    import android.widget.CompoundButton;
    import android.widget.ImageView;
    import android.widget.RadioButton;
    import android.widget.CompoundButton.OnCheckedChangeListener;

    public class CbRbActivity extends Activity {
    private ImageView imageView01=null;
    private ImageView imageView02=null;
    private CheckBox checkBox=null;
    private RadioButton on=null;//开灯

    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    imageView01
    =(ImageView)findViewById(R.id.imageView01);
    imageView02
    =(ImageView)findViewById(R.id.imageView02);
    checkBox
    =(CheckBox)findViewById(R.id.checkBox);
    on
    =(RadioButton)findViewById(R.id.on);

    on.setOnCheckedChangeListener(listener);
    checkBox.setOnCheckedChangeListener(listener);
    }

    OnCheckedChangeListener listener
    =new OnCheckedChangeListener(){

    public void onCheckedChanged(CompoundButton buttonView,
    boolean isChecked) {
    if(buttonView instanceof RadioButton){
    imageView01.setImageResource(isChecked
    ?R.drawable.bulb_on:R.drawable.bulb_off);
    }
    else if(buttonView instanceof CheckBox){
    checkBox.setText(isChecked
    ?"开灯":"关灯");
    imageView02.setImageResource(isChecked
    ?R.drawable.bulb_on:R.drawable.bulb_off);
    }
    }
    };
    }

    运行结果

  • 相关阅读:
    java 自定义异常输出信息(使用构造器)
    idea 项目java版本选项位置
    编译、安装rdesktop 1.8.3
    ubuntu下编译源码 make 出现 make: 'Makefile' is up to date.
    ubuntu 图形化界面 gui 桌面版 root登录 sorry,that didn't work.please try again! 抱歉,认证失败。请重试
    MIUI 10 已连接 但无法访问互联网 的解决方案
    idea中 和outline相似的功能
    idea web项目debug模式实时更新按钮不生效原因
    javaweb学习总结二(静态导入、自动拆装箱、增强for与可变参数)
    javaweb学习总结一(eclipse常用快捷键、debug调试以及junit测试框架)
  • 原文地址:https://www.cnblogs.com/linjiqin/p/1960145.html
Copyright © 2020-2023  润新知