Android 七種進(jìn)度條的樣式
當(dāng)一個(gè)應(yīng)用在后臺(tái)執(zhí)行時(shí),前臺(tái)界面就不會(huì)有什么信息,這時(shí)用戶(hù)根本不知道程序是否在執(zhí)行、執(zhí)行進(jìn)度如何、應(yīng)用程序是否遇到錯(cuò)誤終止等,這時(shí)需要使用進(jìn)度條來(lái)提示用戶(hù)后臺(tái)程序執(zhí)行的進(jìn)度。Android系統(tǒng)提供了兩大類(lèi)進(jìn)度條樣式,長(zhǎng)形進(jìn)度條(progress-BarStyleHorizontal)
和圓形進(jìn)度條(progressBarStyleLarge)。進(jìn)度條用處很多,比如,應(yīng)用程序裝載資源和網(wǎng)絡(luò)連接時(shí),可以提示用戶(hù)稍等,這一類(lèi)進(jìn)度條只是代表應(yīng)用程序中某一部分的執(zhí)行情況,而整個(gè)應(yīng)用程序執(zhí)行情況呢,則可以通過(guò)應(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);
通過(guò)本篇文章介紹了Android 七種進(jìn)度條的樣式,希望大家喜歡。
- android自定義進(jìn)度條漸變色View的實(shí)例代碼
- Android中實(shí)現(xiàn)Webview頂部帶進(jìn)度條的方法
- Android文件下載進(jìn)度條的實(shí)現(xiàn)代碼
- Android編程之ProgressBar圓形進(jìn)度條顏色設(shè)置方法
- android ListView和ProgressBar(進(jìn)度條控件)的使用方法
- Android中自定義進(jìn)度條詳解
- Android實(shí)現(xiàn)進(jìn)度條(ProgressBar)的功能與用法
- 實(shí)例詳解Android自定義ProgressDialog進(jìn)度條對(duì)話框的實(shí)現(xiàn)
- android中實(shí)現(xiàn)OkHttp下載文件并帶進(jìn)度條
- Android自定義View實(shí)現(xiàn)進(jìn)度條動(dòng)畫(huà)
相關(guān)文章
Android編程實(shí)現(xiàn)簡(jiǎn)單文件瀏覽器功能
這篇文章主要介紹了Android編程實(shí)現(xiàn)簡(jiǎn)單文件瀏覽器功能,結(jié)合實(shí)例形式分析了Android文件管理器的布局、文件與目錄的遍歷、權(quán)限控制等相關(guān)操作技巧,需要的朋友可以參考下2018-01-01
加載頁(yè)面遮擋耗時(shí)操作任務(wù)頁(yè)面--第三方開(kāi)源之AndroidProgressLayout
AndroidProgressLayout實(shí)現(xiàn)為界面添加圓形進(jìn)度條。調(diào)用setprogress()方法顯示和隱藏進(jìn)度條,這篇文章主要介紹了加載頁(yè)面遮擋耗時(shí)操作任務(wù)頁(yè)面--第三方開(kāi)源之AndroidProgressLayout的相關(guān)資料,需要的朋友可以參考下2015-11-11
基于flutter?sound插件實(shí)現(xiàn)錄音與播放功能
這篇文章主要介紹了基于flutter?sound插件實(shí)現(xiàn)錄音與播放功能,介紹了如何錄音,如何播放本地和遠(yuǎn)程音頻文件,以及如何實(shí)現(xiàn)動(dòng)畫(huà),在錄制完音頻文件后如何上傳,這些都是我們平常使用這個(gè)功能會(huì)遇到的問(wèn)題。在使用的過(guò)程中遇到的問(wèn)題也有列出,需要的朋友可以參考下2022-05-05
Android TV 3D卡片無(wú)限循環(huán)效果
這篇文章主要為大家詳細(xì)介紹了Android TV 3D卡片無(wú)限循環(huán)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11
Android實(shí)現(xiàn)粒子中心擴(kuò)散動(dòng)畫(huà)效果
粒子動(dòng)畫(huà)效果相比其他動(dòng)畫(huà)來(lái)說(shuō)是非常復(fù)雜了的,主要涉及三個(gè)方面,粒子初始化、粒子位移、粒子回收等問(wèn)題,本篇將實(shí)現(xiàn)兩種動(dòng)畫(huà)效果,代碼基本相同,只是旋轉(zhuǎn)速度不一樣,需要的朋友可以參考下2024-02-02
Android運(yùn)動(dòng)健康睡眠自定義控件的實(shí)現(xiàn)
這篇文章主要介紹了Android實(shí)現(xiàn)運(yùn)動(dòng)健康睡眠自定義控件的方法,幫助大家更好的理解和學(xué)習(xí)使用Android開(kāi)發(fā),感興趣的朋友可以了解下2021-03-03

