當(dāng)一個(gè)應(yīng)用在后臺(tái)執(zhí)行時(shí),前臺(tái)界面就不會(huì)有什么信息,這時(shí)用戶根本不知道程序是否在執(zhí)行、執(zhí)行進(jìn)度如何、應(yīng)用程序是否遇到錯(cuò)誤終止等,這時(shí)需要使用進(jìn)度條來(lái)提示用戶后臺(tái)程序執(zhí)行的進(jìn)度。Android系統(tǒng)提供了兩大類進(jìn)度條樣式,長(zhǎng)形進(jìn)度條(progress-BarStyleHorizontal)
和圓形進(jìn)度條(progressBarStyleLarge)。進(jìn)度條用處很多,比如,應(yīng)用程序裝載資源和網(wǎng)絡(luò)連接時(shí),可以提示用戶稍等,這一類進(jìn)度條只是代表應(yīng)用程序中某一部分的執(zhí)行情況,而整個(gè)應(yīng)用程序執(zhí)行情況呢,則可以通過應(yīng)用程序標(biāo)題欄來(lái)顯示一個(gè)進(jìn)度條,這就需要先對(duì)窗口的顯示風(fēng)格進(jìn)行設(shè)置"requestWindowFeature(Window.FEATURE_PROGRESS)"。
先看下面效果圖:
例1:(默認(rèn)樣式(中等圓形))
Xml代碼
<ProgressBar android:id="@+id/progressBar1" android:layout_width="wrap_content" android:layout_height="wrap_content" />
例2:(超大圓形)
例1:(默認(rèn)樣式(中等圓形))
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:(小號(hào)圓形)
Xml代碼
<ProgressBar android:id="@+id/progressBar3" android:layout_width="wrap_content" android:layout_height="wrap_content" style="?android:attr/progressBarStyleSmall" />
例4:(標(biāo)題小號(hào)圓形)
Xml代碼
<ProgressBar android:id="@+id/progressBar4" android:layout_width="wrap_content" android:layout_height="wrap_content" style="?android:attr/progressBarStyleSmallTitle" />
例4-在標(biāo)題中使用小號(hào)圓形的使用代碼:
Java代碼
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //設(shè)置標(biāo)題不確定性進(jìn)度條風(fēng)格 requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); setContentView(R.layout.progress_bars); //顯示標(biāo)題不確定性進(jìn)度條 setProgressBarIndeterminateVisibility(true); //關(guān)閉標(biāo)題不確定性進(jìn)度條 //setProgressBarIndeterminateVisibility(false); }
例5:(長(zhǎng)方形進(jìn)度條)
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" 最大進(jìn)度值100 android:progress="50" 當(dāng)前初始化進(jìn)度值50 android:secondaryProgress="70" 當(dāng)前初始化第2進(jìn)度值70
例5-在標(biāo)題中使用長(zhǎng)方形進(jìn)度條的代碼:
Java代碼
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //設(shè)置標(biāo)題進(jìn)度條風(fēng)格 requestWindowFeature(Window.FEATURE_PROGRESS); setContentView(R.layout.progress_bars); //顯示標(biāo)題進(jìn)度 setProgressBarVisibility(true); //設(shè)置標(biāo)題當(dāng)前進(jìn)度值為5000(標(biāo)題進(jìn)度最大值默認(rèn)為10000) setProgress(5000); //關(guān)閉標(biāo)題進(jìn)度 //setProgressBarVisibility(false); }
例6:(進(jìn)度對(duì)話框-圓形進(jìn)度條)
Java代碼
ProgressDialog dialog = new ProgressDialog(this); //設(shè)置進(jìn)度條風(fēng)格,風(fēng)格為圓形,旋轉(zhuǎn)的 dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); //設(shè)置ProgressDialog 標(biāo)題 dialog.setTitle("進(jìn)度對(duì)話框"); //設(shè)置ProgressDialog 提示信息 dialog.setMessage("圓形進(jìn)度條"); //設(shè)置ProgressDialog 標(biāo)題圖標(biāo) dialog.setIcon(android.R.drawable.ic_dialog_map); //設(shè)置ProgressDialog 的一個(gè)Button dialog.setButton("確定", new ProgressDialog.OnClickListener(){ @Override public void onClick(DialogInterface dialog, int which) { } }); //設(shè)置ProgressDialog 的進(jìn)度條是否不明確 dialog.setIndeterminate(false); //設(shè)置ProgressDialog 是否可以按退回按鍵取消 dialog.setCancelable(true); //顯示 dialog.show();
例7:(進(jìn)度對(duì)話框-長(zhǎng)方形進(jìn)度條)
Java代碼
ProgressDialog dialog = new ProgressDialog(this); //設(shè)置進(jìn)度條風(fēng)格,風(fēng)格為圓形,旋轉(zhuǎn)的 dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); //設(shè)置ProgressDialog 標(biāo)題 dialog.setTitle("進(jìn)度對(duì)話框"); //設(shè)置ProgressDialog 提示信息 dialog.setMessage("長(zhǎng)方形進(jìn)度條"); //設(shè)置ProgressDialog 標(biāo)題圖標(biāo) dialog.setIcon(android.R.drawable.ic_dialog_alert); //設(shè)置ProgressDialog的最大進(jìn)度 dialog.setMax(100); //設(shè)置ProgressDialog 的一個(gè)Button dialog.setButton("確定", new ProgressDialog.OnClickListener(){ @Override public void onClick(DialogInterface dialog, int which) { } }); //設(shè)置ProgressDialog 是否可以按退回按鍵取消 dialog.setCancelable(true); //顯示 dialog.show(); //設(shè)置ProgressDialog的當(dāng)前進(jìn)度 dialog.setProgress(50);
通過本篇文章介紹了Android 七種進(jìn)度條的樣式,希望大家喜歡。
如對(duì)本文有疑問,請(qǐng)?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會(huì)為你解答!! 點(diǎn)擊進(jìn)入論壇