安卓控件使用系列20:ProgressBar进度条控件的使用方法

安卓中的进度条是经常使用的控件之一,下面我们来一起分享一下各种类型的进度条的使用。

这个例子显示的是小中大圆形进度条和水平进度条,通过按下增加进度和减少进度来控制进度条上进度的增加和减少。

整体思路:通过设置ProgressBar的style属性来控制进度条的显示类型,是圆形还是水平,是大还是小,不进行设置的话默认为是中型圆形进度条的显示效果。在活动中设置进度条的初始属性和刻度,点击按钮的OnClick事件中,获取当前的进度进行增加或减少。

activity_main.xml文件:

 
    
    
    
    
    
    
    
    
    


    

MainActivity.java文件:

   public class MainActivity extends Activity implements OnClickListener{
  
   private ProgressBar progressBar;
   private Button button1,button2;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
//		如何设置窗口有刻度的效果
		requestWindowFeature(Window.FEATURE_PROGRESS);
		requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
		setContentView(R.layout.activity_main);//这句话必须在上面两句话的下面,否则报错。
		
		progressBar=(ProgressBar)findViewById(R.id.progressbar);
		setProgressBarVisibility(true);
		setProgressBarIndeterminate(true);
		setProgress(3500);//设置刻度为3500
		
		button1=(Button)findViewById(R.id.button1);
		button2=(Button)findViewById(R.id.button2);
		button1.setOnClickListener(this);
		button2.setOnClickListener(this);
		
	}

	@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;
	}

	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		switch (v.getId()) {
		case R.id.button1:
			progressBar.setProgress((int)(progressBar.getProgress()*1.2));
			progressBar.setSecondaryProgress((int)(progressBar.getSecondaryProgress()*1.2));
			
			break;

		case R.id.button2:
			progressBar.setProgress((int)(progressBar.getProgress()*0.8));
			progressBar.setSecondaryProgress((int)(progressBar.getSecondaryProgress()*0.8));
			break;
		}
	}

}


你可能感兴趣的:(移动端)