android基本控件示例SeekBar,通常用在播放音乐的进度条(03)

//基本控件示例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"
         />
相关文章
相关标签/搜索