天天看點

Android中SeekBar進度條操作

Android中SeekBar進度條操作
public class MainActivity extends Activity {

	private SeekBar seekBar;
	
	private static final int MAX_PROGRESS =100;
	
	private int current_progress=10;
	
	private static final int PRO=1;
	
	private Handler handler;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		seekBar = (SeekBar) this.findViewById(R.id.seekBar1);
		
		seekBar.setMax(MAX_PROGRESS);
		
	
		
	/*	new Thread(new Runnable() {
			
			@Override
			public void run() {
				while(true){
					try {
						Thread.sleep(600);
						current_progress+=10;
						seekBar.setProgress(current_progress);
					} catch (InterruptedException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
				
			}
		}).start();*/
		
		handler = new Handler(){
			 @Override
			public void handleMessage(Message msg) {
				super.handleMessage(msg);
				
				switch (msg.what) {
				case PRO:
					  if(current_progress>=MAX_PROGRESS){
						  
					  }else{
						  current_progress+=1;
						  seekBar.incrementProgressBy(1);
						  
						  handler.sendEmptyMessageDelayed(PRO, 600);
					  }
					break;

				default:
					break;
				}
			}
		};
		
		
	 current_progress=current_progress>0?current_progress:0;
	 seekBar.setProgress(current_progress);
	 
	 handler.sendEmptyMessage(PRO);
		
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}