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"
         />
相關文章
相關標籤/搜索