//基本控件示例SeekBar
public class MainActivity extends Activity implements OnSeekBarChangeListener{
private static final String TAG = "seekBar";
//SeekBar要实现OnSeekBarChangeListener接口
//这个进度条一般用在音乐播放方面
private SeekBar seekBar;
private Timer timer=new Timer();//计时器
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
seekBar=(SeekBar) findViewById(R.id.seekBar);
this.seekBar.setOnSeekBarChangeListener(this);//设置当前的监听
this.seekBar.setMax(10000);//设置进度最大数
timer.schedule(new MyTask(), 0, 1000);//long类型,每隔1秒开启一个规划任务
}
class MyTask extends TimerTask{
@Override
public void run() {
int progress=seekBar.getProgress();
progress+=100;
//seekBar.setProgress(progress);
if(seekBar.getProgress()==seekBar.getMax()){
//要用这个seekBar.getProgress(),否则不能回头
seekBar.setProgress(0);//设置到尽头后从头开始
//Log.i("tt", "1"+progress);
}else{
seekBar.setProgress(progress);
//Log.i("tt", "2"+progress);
}
}
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
//这个一直在调用,改变进度,当用户点击或拖动时变为true
Log.i(TAG, "progress: " + progress + " , fromUser: " + fromUser);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
//点击时调用
Log.i(TAG,"调用了onStartTrackingTouch");
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
//拖动停止后调用
Log.i(TAG,"调用了onStopTrackingTouch");
//下面的加不加基本没什么影响,貌似进度快了一点
/* timer = new Timer();
timer.schedule(new MyTask(), 0,1000);*/
}
}
//布局文件
<SeekBar
android:id="@+id/seekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
/>
转载于:https://my.oschina.net/u/2541146/blog/603618