Android筆記——ProgressBar(進度條)
進度條可以方便的告訴使用者現在執行任務的進度,特別是一個執行程式比較長的時候,沒有進度條,使用者不知道程式在執行,會以為程式假死強制關閉。
進度條分為:1.有明確進度資訊的,將通過一個帶刻度的水平條表示
2.是沒有明確的進度資訊(比如說一個一直轉圈的圖形)
3.使用者自訂進度條(可以自己定義進度條顯示的圖片,旋轉方向等樣式)
MainActivity.java
package com.example.progressbar;import android.os.Bundle;import android.app.Activity;import android.app.ProgressDialog;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.view.Window;import android.widget.Button;import android.widget.ProgressBar;public class MainActivity extends Activity implements OnClickListener{private Button btnIncrement,btnDecrement;private ProgressBar pb;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//設定標題進度條必須在setContentView方法之前requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);setContentView(R.layout.activity_main);//設定為可見setProgressBarIndeterminateVisibility(true);btnIncrement = (Button) findViewById(R.id.increment);btnDecrement = (Button) findViewById(R.id.decrement);btnIncrement.setOnClickListener(this);btnDecrement.setOnClickListener(this);pb = (ProgressBar) findViewById(R.id.progressBar4);}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;} //按鈕較多時,而且都要設定按鈕的監聽器,這時候最簡單的方法就是:令Activity實現OnClickListener()介面, //然後通過setOnClickListener將Activity的執行個體註冊到Buttonpublic void onClick(View v) {switch (v.getId()) {case R.id.increment :pb.incrementProgressBy(5);break;case R.id.decrement:pb.incrementProgressBy(-5);break;default:break;}} public void show(View v){//建立一個進度條的對話方塊組件ProgressDialog pd = new ProgressDialog(this);pd.setTitle("對話方塊");pd.setMessage("下載中。。。");//設定為水平對話方塊pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);pd.show();}}activity_main.xml
pb_custom.xml
主要設定了自訂小機器人旋轉的進度條配置,設定從0~360度旋轉,旋轉中心是圖片的中心,根據X,Y設定。
可以看到前三個圓圈是不明確的進度條,一直在轉。下來有水平進度條,接著我設定了兩個按鈕,增加和減少可以對上面的水平進度條的進度進行調節。最後一個小機器人是自訂的對話方塊,因為沒有合適的圖片,就選擇了系統預設的機器人,但是效果和原理是一樣的。
這裡設定了對話方塊按鈕