Android控件之CheckBox、RadioButton探究

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

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

 2011022121161611.png

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

目录结构

 2011022121171214.png

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);
}
}
};
}

运行结果

2011022121191043.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值