目录
一、CheckBox
1、系统封装的复选控件(可用于多选)
2、两种状态:选中及未选中
setChecked();设置是否被选中,如果为true则为选中,false未被选中
isChecked();获取它的选中状态,true则为已经被选中,false则为还未被选中
<CheckBox
android:id="@+id/checkBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="CheckBox"
android:checked="true"/>
<!--
android:text="CheckBox" 复选框文本
android:checked="true" 复选框的选中状态,true为选中,false为未选中
-->
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//两种重要方法 setChecked() ; isChecked()
CheckBox checkBox = findViewById(R.id.checkBox);
//设置是否选中(设置状态)
checkBox.setChecked(false);
//获取状态(是否选中)
boolean isChecked = checkBox.isChecked();
}
3、监听状态变化:setOnCheckedChangeListener
checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
Log.d(TAG,"onCheckedChanged:"+isChecked);
//当状态改变的时候,可以处理很多的数据和UI
}
});
二、RadioButton
1、单选控件(例如:单项选择)
2、可以和RadioGroup一起使用,只能选择一个
<RadioGroup
android:layout_width="match_parent"
android:layout_height="match_parent" >
<RadioButton
android:id="@+id/radioButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="RadioButton" />
<RadioButton
android:id="@+id/radioButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="RadioButton" />
<RadioButton
android:id="@+id/radioButton3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="RadioButton" />
</RadioGroup>
3、和CheckBox的区别
①通过点击无法改变为未选中
②一组RadioButton,只能同时选中一个
③在大部分UI框架中默认都以圆形表示
三、ToggleButton
1、切换程序中的状态
2、两种状态
①android:textOn 设置打开时的文字
②android:textOff 设置关闭时的文字
③setChecked(boolean) 是否打开
<ToggleButton
android:id="@+id/toggleButton"
android:layout_width="match_parent"
android:layout_height="48dp"
android:textOn="忘"
android:textOff="亡"
android:checked="true"
android:text="ToggleButton" />
3、setOnCheckedChangeListener
四、SeekBar
SeekBar:搜索、寻找,显示当前进度的控件;属于Widgets
1、使用场景
例如:音乐播放器中的进度条
2、简单使用与事件监听
①setProgress
②setOnSeekBarChangeListener
SeekBar seekBar = findViewById(R.id.seekBar);
seekBar.setProgress(40);
seekBar.setMax(100);
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
Log.d(TAG,"onProgressChanged:"+progress);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
Log.d(TAG,"onStartTrackingTouch:"+seekBar.getProgress());
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
Log.d(TAG,"onStopTrackingTouch:"+seekBar.getProgress());
}
});