天天看點

Android控件之CheckBox、RadioButton探究

CheckBox和RadioButton控件都隻有選中和未選中狀态,不同的是RadioButton是單選按鈕,需要編制到一個RadioGroup中,同一時刻一個RadioGroup中隻能有一個按鈕處于選中狀态。

以下為CheckBox和RadioButton常用方法及說明

Android控件之CheckBox、RadioButton探究

以下為單選按鈕和複選按鈕的使用方法

目錄結構

Android控件之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_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_gravity="center_horizontal">

<RadioButton android:id="@+id/on"

android:text="開燈"

android:checked="true" />

<RadioButton android:id="@+id/off"

android:text="關燈"

android:layout_height="wrap_content" />

</RadioGroup>

<!-- CheckBox控件示範 -->

<ImageView android:id="@+id/imageView02"

<CheckBox android:id="@+id/checkBox"

android:checked="true"

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

};

運作結果

Android控件之CheckBox、RadioButton探究