说明:因为时间紧张,本人很多博客的写作过程中只是对知识点的关键步骤进行了截图记录,没有对截图步骤进行详细的文字说明(后面博主时间充裕了,会对目前的博客编辑修改,补充上详细的文字说明);有些步骤和相关知识点缺乏文字描述,可能会难以理解。读者如有不明之处,欢迎博客私信或者微信(本人微信在博客下方的“关于博主”处)与本人交流,共同进步。
另有一些博客没有来得及记录内容,但为了保证博客内容的连贯性,所以按照学习路径的顺序先发布了标题,后续时间充裕了会更新内容,望博友和读者朋友们谅解!
<SeekBar
android:id="@+id/seekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="100"
android:progress="30"
/>
注意:
为避免用户拖动的速度如果太快,可以单独开一个线程控制
package com.imooc.demo;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.SeekBar;
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
CheckBox checkBox = findViewById(R.id.checkBox);
// 设置是否选中(设置它的状态)
checkBox.setChecked(false);
// 获取它的状态(是否选中)
boolean isChecked = checkBox.isChecked();
Log.d(TAG, "onCreate, isChecked:" + isChecked);
checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
Log.d(TAG, "onCheckedChanged: "+ isChecked);
// 当状态被改变的时候,可以处理很多的数据和UI
}
});
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());
}
});
}
}
原文:https://www.cnblogs.com/xlfcjx/p/14010475.html