當一個應用在后臺執行時,前臺界面就不會有什么信息,這時用戶根本不知道程序是否在執行、執行進度如何、應用程序是否遇到錯誤終止等,這時需要使用進度條來提示用戶后臺程序執行的進度。Android系統提供了兩大類進度條樣式,長形進度條(progress-BarStyleHorizontal)
和圓形進度條(progressBarStyleLarge)。進度條用處很多,比如,應用程序裝載資源和網絡連接時,可以提示用戶稍等,這一類進度條只是代表應用程序中某一部分的執行情況,而整個應用程序執行情況呢,則可以通過應用程序標題欄來顯示一個進度條,這就需要先對窗口的顯示風格進行設置"requestWindowFeature(Window.FEATURE_PROGRESS)"。
先看下面效果圖:
例1:(默認樣式(中等圓形))
Xml代碼
<ProgressBar android:id="@+id/progressBar1" android:layout_width="wrap_content" android:layout_height="wrap_content" />
例2:(超大圓形)
例1:(默認樣式(中等圓形))
Xml代碼
<ProgressBar android:id="@+id/progressBar1" android:layout_width="wrap_content" android:layout_height="wrap_content" />
例2:(超大圓形)
Xml代碼
<ProgressBar android:id="@+id/progressBar2" android:layout_width="wrap_content" android:layout_height="wrap_content" style="?android:attr/progressBarStyleLarge" />
例3:(小號圓形)
Xml代碼
<ProgressBar android:id="@+id/progressBar3" android:layout_width="wrap_content" android:layout_height="wrap_content" style="?android:attr/progressBarStyleSmall" />
例4:(標題小號圓形)
Xml代碼
<ProgressBar android:id="@+id/progressBar4" android:layout_width="wrap_content" android:layout_height="wrap_content" style="?android:attr/progressBarStyleSmallTitle" />
例4-在標題中使用小號圓形的使用代碼:
Java代碼
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //設置標題不確定性進度條風格 requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); setContentView(R.layout.progress_bars); //顯示標題不確定性進度條 setProgressBarIndeterminateVisibility(true); //關閉標題不確定性進度條 //setProgressBarIndeterminateVisibility(false); }
例5:(長方形進度條)
Xml代碼
<ProgressBar android:id="@+id/progressBar5" android:layout_width="200dp" android:layout_height="wrap_content" style="?android:attr/progressBarStyleHorizontal" android:max="100" android:progress="50" android:secondaryProgress="70" /> android:max="100" 最大進度值100 android:progress="50" 當前初始化進度值50 android:secondaryProgress="70" 當前初始化第2進度值70
例5-在標題中使用長方形進度條的代碼:
Java代碼
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //設置標題進度條風格 requestWindowFeature(Window.FEATURE_PROGRESS); setContentView(R.layout.progress_bars); //顯示標題進度 setProgressBarVisibility(true); //設置標題當前進度值為5000(標題進度最大值默認為10000) setProgress(5000); //關閉標題進度 //setProgressBarVisibility(false); }
例6:(進度對話框-圓形進度條)
Java代碼
ProgressDialog dialog = new ProgressDialog(this); //設置進度條風格,風格為圓形,旋轉的 dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); //設置ProgressDialog 標題 dialog.setTitle("進度對話框"); //設置ProgressDialog 提示信息 dialog.setMessage("圓形進度條"); //設置ProgressDialog 標題圖標 dialog.setIcon(android.R.drawable.ic_dialog_map); //設置ProgressDialog 的一個Button dialog.setButton("確定", new ProgressDialog.OnClickListener(){ @Override public void onClick(DialogInterface dialog, int which) { } }); //設置ProgressDialog 的進度條是否不明確 dialog.setIndeterminate(false); //設置ProgressDialog 是否可以按退回按鍵取消 dialog.setCancelable(true); //顯示 dialog.show();
例7:(進度對話框-長方形進度條)
Java代碼
ProgressDialog dialog = new ProgressDialog(this); //設置進度條風格,風格為圓形,旋轉的 dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); //設置ProgressDialog 標題 dialog.setTitle("進度對話框"); //設置ProgressDialog 提示信息 dialog.setMessage("長方形進度條"); //設置ProgressDialog 標題圖標 dialog.setIcon(android.R.drawable.ic_dialog_alert); //設置ProgressDialog的最大進度 dialog.setMax(100); //設置ProgressDialog 的一個Button dialog.setButton("確定", new ProgressDialog.OnClickListener(){ @Override public void onClick(DialogInterface dialog, int which) { } }); //設置ProgressDialog 是否可以按退回按鍵取消 dialog.setCancelable(true); //顯示 dialog.show(); //設置ProgressDialog的當前進度 dialog.setProgress(50);
通過本篇文章介紹了Android 七種進度條的樣式,希望大家喜歡。
新聞熱點
疑難解答
圖片精選