ToggleButton
其有两状态:选中和未选中状态。并且需要为不同的状态设置不同的显示文本 Form Widgets->ToggleButton
属性:
android:checked = “true”状态设为true。默认下是false.这里并不是ischecked
android:textOff=”关” false状态显示的文本
**android:textOn=”开”**true状态显示的文本
下面用实现接口方式监听,另外两种方法参考Button的实现
在MainActivity类中定义 并实现接口OnCheckedChangeListener:
private ToggleButton tb;
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked){
//buttonView代表被点击控件本身
//isChecked代表被点击的控件的状态
isChecked ? ... : ... ;
}
在onCreate方法中:
tb = (ToggleButton) findViewById(R.id .toggleButton1);
tb.setOnCheckedChangeListener(this);
PS:给imgView对象设置背景的方法:
img.setBackgroundResourse(isChecked?R.drawable.on:R.drawable.off);
CheckBox
复选框 Form Widgets->CheckBox
属性:
android:checked = “false”– 未选中状态,默认状态下是false
android:text = “男”
android:style–自定义CheckBox的样式
步骤:
在MainActivity类中实例CheckBox
private CheckBox checkBox;
在onCreate方法中:
checkBox = (CheckBox) findViewById(R.id.checkBox1);
//通过设置checkbox的监听事件来对checkbox是否被选中,这里用匿名内部类方法
checkBox.setOncheckedChangeListener(new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton buttonView,boolean isChecked){
if(isChecked){
//这里获得checkBox的文本内容
String text = checkBox.getText().toSting();
log.i("tag",text);
}
}
})
RadioGroup
RadioButton的一个集合,提供多选一机制 Forn Widgets -> RadioGroup
属性:
android:orientation=”vertical”–垂直排布 horizontal为水平排布
implements onCheckedChangeListener
private RadioGroup rg;
@Override
public void onCheckedChanged(RadioGroup group,int checkId){
switch (checkId){
case R.id.radio0:
log.i("tag","Ha");
break;
case R.id.radio1:
log.i("tag","He");
break;
}
}
rg = (RadioGroup) findViewById(R.id.radioGroup1);
rg.setOnCheckedChangeListener(this);
RadioButton
属性:
android:text
PS:可以通过RadioGroup监听,也可以通过RadioButton监听