Android游戏开发系统控件-CheckBox
Android游戏开发系统控件-CheckBox
2012/5/11 星期五
CheckBox是Android系统最普通的UI控件,继承了Button按钮
下面通过一个实例来学习
作者:wwj
功能:实现复选框的功能
创建项目“CheckBoxProject”
运行项目效果截图:
代码实现:
=>>main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <CheckBox android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/cb1" android:id="@+id/cb1" /> <CheckBox android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/cb2" android:id="@+id/cb2" /> <CheckBox android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/cb3" android:id="@+id/cb3" /> </LinearLayout>
=>>string.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">CheckBoxProject!</string> <string name="app_name">CheckBox</string> <string name="cb1">CheckBox1</string> <string name="cb2">CheckBox2</string> <string name="cb3">CheckBox3</string> </resources>
=>>CheckBoxProject.java
package com.checkBox; import android.app.Activity; import android.os.Bundle; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.CompoundButton.OnCheckedChangeListener; import android.widget.Toast; public class CheckBoxActivity extends Activity implements OnCheckedChangeListener{ private CheckBox cb1,cb2,cb3;//创建3个CheckBox对象 /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //实例化3个CheckBox cb1 = (CheckBox) findViewById(R.id.cb1); cb2 = (CheckBox) findViewById(R.id.cb2); cb3 = (CheckBox) findViewById(R.id.cb3); cb1.setOnCheckedChangeListener(this); cb2.setOnCheckedChangeListener(this); cb3.setOnCheckedChangeListener(this); } //重写监听器的抽象函数 public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { //buttonView 选中状态发生改变的那个按钮 //isChecked 表示按钮新的状态(true/false) if(cb1 == buttonView || cb2 == buttonView || cb3 == buttonView ){ if(isChecked){ //显示一个提示信息 toastDisplay(buttonView.getText() + "选中"); }else{ toastDisplay(buttonView.getText() + "取消选中"); } } } public void toastDisplay(String str){ Toast.makeText(this, str, Toast.LENGTH_SHORT).show(); } }
对CheckBox进行监听,步骤如下:
步骤1:使用OnCheckChangeListener接口,这里的接口导入的是:
“android.widget.CompoundButton.OnCheckChangeListener”;
步骤2:重写监听器的抽象函数“onCheckedChanged()”
步骤3:将每个CheckBox组件绑定监听器。
通过重写的onCheckedChanged(CompoundButton buttonView,boolean isChecked)函数一个参数来确定哪个CheckBox状态发生改变;根据第二个参数来确定改变的CheckeBox的具体状态值,true为勾选,false为未勾选。
CheckBoxActivity类中还定义了toastDisplay()函数,其实是为了使用Android的一种提示信息的方式:Toast:主要用于提示信息,使用起来很方便;先创建Toast对象,然后调用makeText()方法得到一个Toast实例对象。
makeText(Context context,CharSequence text,int duration)
第一参数是上下文对象;第二个参数显示的文本内容;第三个参数显示提示消息的持续时间;其值有两个常量:LENGTH_SHORT(短暂持续)和LENGTH_LONG(略长持续)。
最后,使用Toast对象调用show()方法即可。