CheckBox
两种状态:选中(true)和未选中(false)
属性:
android:id="@+id/checkbox"
android:checked="false" 是否选中的状态
android:text="女"
新建:
android:id="@+id/cb1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Basketball"
android:checked="false"
/>
具体实现:private CheckBox cb;//初始化CheckBox
cb= (CheckBox) findViewById(R.id.cb1);
//通过设置CheckBox的监听事件来判断checkbox
cb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if(b){
Toast.makeText(MainActivity.this, "Hi~Basketball", Toast.LENGTH_SHORT).show();
}
}
});
可以通过style自定义CheckBox样式
RadioButton和RadioGroup
因为按下后无法自行关闭,所以不建议单独使用
RadioGroup:
RadioButton的集合,提供多选一的使用
属性:
android:orientation="vertical"(垂直排列)或"horizontal"(水平排列)
设置RadioGroup中子类的排列方式
新建View:
android:id="@+id/rg1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
android:id="@+id/rb1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="男" />
android:id="@+id/rb2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女" />
具体实现:private RadioGroup rg;//初始化RadioGroup
rg= (RadioGroup) findViewById(R.id.rg1);
//实现监听事件
rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
//radioGroup 当前组件
//i RadioGroup中被选中项的ID
switch(i){
case R.id.rb1:
Toast.makeText(MainActivity.this, "You Choose Man", Toast.LENGTH_SHORT).show();
break;
case R.id.rb2:
Toast.makeText(MainActivity.this, "You Choose Woman", Toast.LENGTH_SHORT).show();
break;
}
}
});
RadioGroup中的RadioButton状态改变既可以通过RadioButton来监听也可以通过RadioGroup来监听