(轉)ProgressDialog使用總結
ProgressDialog的使用
ProgressDialog 繼承自AlertDialog,AlertDialog繼承自Dialog,實現DialogInterface介面。
ProgressDialog的建立方式有兩種,一種是new Dialog ,一種是呼叫Dialog的靜態方法Dialog.show()。
- // 方式一:new Dialog
- final ProgressDialog dialog = new ProgressDialog(this);
- dialog.show();
-
// 方式二:使用靜態方式建立並顯示,這種進度條只能是圓形條,設定title和Message提示內容
- ProgressDialog dialog2 = ProgressDialog.show(this, "提示", "正在登陸中");
- // 方式三 使用靜態方式建立並顯示,這種進度條只能是圓形條,這裡最後一個引數boolean indeterminate設定是否是不明確的狀態
- ProgressDialog dialog3 = ProgressDialog
- .show(this, "提示", "正在登陸中", false);
-
// 方式四 使用靜態方式建立並顯示,這種進度條只能是圓形條,這裡最後一個引數boolean cancelable 設定是否進度條是可以取消的
- ProgressDialog dialog4 = ProgressDialog.show(this, "提示", "正在登陸中",
- false, true);
- // 方式五 使用靜態方式建立並顯示,這種進度條只能是圓形條,這裡最後一個引數 DialogInterface.OnCancelListener
- // cancelListener用於監聽進度條被取消
- ProgressDialog dialog5 = ProgressDialog.show(this, "提示", "正在登陸中", true,
-
true
方式五中需要一個cancelListener,程式碼如下;
- private OnCancelListener cancelListener = new OnCancelListener() {
- @Override
- publicvoid onCancel(DialogInterface dialog) {
- // TODO Auto-generated method stub
- Toast.makeText(MainActivity.this, "進度條被取消", Toast.LENGTH_LONG)
- .show();
- }
- };
ProgressDialog的樣式有兩種,一種是圓形不明確狀態,一種是水平進度條狀態
第一種方式:圓形進度條
- final ProgressDialog dialog = new ProgressDialog(this);
- dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);// 設定進度條的形式為圓形轉動的進度條
- dialog.setCancelable(true);// 設定是否可以通過點選Back鍵取消
- dialog.setCanceledOnTouchOutside(false);// 設定在點選Dialog外是否取消Dialog進度條
- dialog.setIcon(R.drawable.ic_launcher);//
- // 設定提示的title的圖示,預設是沒有的,如果沒有設定title的話只設置Icon是不會顯示圖示的
- dialog.setTitle("提示");
- // dismiss監聽
- dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
- @Override
- publicvoid onDismiss(DialogInterface dialog) {
- // TODO Auto-generated method stub
- }
- });
- // 監聽Key事件被傳遞給dialog
- dialog.setOnKeyListener(new DialogInterface.OnKeyListener() {
- @Override
- publicboolean onKey(DialogInterface dialog, int keyCode,
- KeyEvent event) {
- // TODO Auto-generated method stub
- returnfalse;
- }
- });
- // 監聽cancel事件
- dialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
- @Override
- publicvoid onCancel(DialogInterface dialog) {
- // TODO Auto-generated method stub
- }
- });
- //設定可點選的按鈕,最多有三個(預設情況下)
- dialog.setButton(DialogInterface.BUTTON_POSITIVE, "確定",
- new DialogInterface.OnClickListener() {
- @Override
- publicvoid onClick(DialogInterface dialog, int which) {
- // TODO Auto-generated method stub
- }
- });
- dialog.setButton(DialogInterface.BUTTON_NEGATIVE, "取消",
- new DialogInterface.OnClickListener() {
- @Override
- publicvoid onClick(DialogInterface dialog, int which) {
- // TODO Auto-generated method stub
- }
- });
- dialog.setButton(DialogInterface.BUTTON_NEUTRAL, "中立",
- new DialogInterface.OnClickListener() {
- @Override
- publicvoid onClick(DialogInterface dialog, int which) {
- // TODO Auto-generated method stub
- }
- });
- dialog.setMessage("這是一個圓形進度條");
- dialog.show();
- new Thread(new Runnable() {
- @Override
- publicvoid run() {
- // TODO Auto-generated method stub
- try {
- Thread.sleep(5000);
- // cancel和dismiss方法本質都是一樣的,都是從螢幕中刪除Dialog,唯一的區別是
- // 呼叫cancel方法會回撥DialogInterface.OnCancelListener如果註冊的話,dismiss方法不會回掉
- dialog.cancel();
- // dialog.dismiss();
- } catch (InterruptedException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }).start();
其中通過Thread.sleep(5000)模擬後臺操作。
cancel和dismiss方法本質都是一樣的,都是從螢幕中刪除Dialog,唯一的區別是:呼叫cancel方法會回撥DialogInterface.OnCancelListener如果註冊的話,dismiss方法不會回掉。
第二種方式:水平進度條
- // 進度條還有二級進度條的那種形式,這裡就不演示了
- final ProgressDialog dialog = new ProgressDialog(this);
- dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);// 設定水平進度條
- dialog.setCancelable(true);// 設定是否可以通過點選Back鍵取消
- dialog.setCanceledOnTouchOutside(false);// 設定在點選Dialog外是否取消Dialog進度條
- dialog.setIcon(R.drawable.ic_launcher);// 設定提示的title的圖示,預設是沒有的
- dialog.setTitle("提示");
- dialog.setMax(100);
- dialog.setButton(DialogInterface.BUTTON_POSITIVE, "確定",
- new DialogInterface.OnClickListener() {
- @Override
- publicvoid onClick(DialogInterface dialog, int which) {
- // TODO Auto-generated method stub
- }
- });
- dialog.setButton(DialogInterface.BUTTON_NEGATIVE, "取消",
- new DialogInterface.OnClickListener() {
- @Override
- publicvoid onClick(DialogInterface dialog, int which) {
- // TODO Auto-generated method stub
- }
- });
- dialog.setButton(DialogInterface.BUTTON_NEUTRAL, "中立",
- new DialogInterface.OnClickListener() {
- @Override
- publicvoid onClick(DialogInterface dialog, int which) {
- // TODO Auto-generated method stub
- }
- });
- dialog.setMessage("這是一個水平進度條");
- dialog.show();
- new Thread(new Runnable() {
- @Override
-
public
相關推薦
(轉)ProgressDialog使用總結
ProgressDialog的使用 ProgressDialog 繼承自AlertDialog,AlertDialog繼承自Dialog,實現DialogInterface介面。 ProgressDialog的建立方式有兩種,一種是new Dialog ,一
Java面試題全集(上)(中)(下) (轉)+自己總結
display png net lan ont tail java面試 tar ref Java面試題 自己總總結 https://www.cnblogs.com/songanwei/p/9366427.html Java面試題全集(上) https://blog.csdn
最詳細的 Android Toolbar 開發實踐總結(轉)
activity resource listener nba flat xmlns mat https ons 轉自:http://www.codeceo.com/article/android-toolbar-develop.html 過年前發了一篇介紹 Transluc
C++中的static關鍵字的總結(轉)
blank protected .com 如果 發現 內部實現 屬於 out 服務 C++的static有兩種用法:面向過程程序設計中的static和面向對象程序設計中的static。前者應用於普通變量和函數,不涉及類;後者主要說明static在類中的作用。 1.面向過程
(轉)基於MVC4+EasyUI的Web開發框架經驗總結(5)--使用HTML編輯控件CKEditor和CKFinder
err config 兩個 腳本 web開發 upload asp 正常 初始 http://www.cnblogs.com/wuhuacong/p/3780356.html Web開發上有很多HTML的編輯控件,如CKEditor、kindeditor等等,很多都做的很
(轉)基於MVC4+EasyUI的Web開發框架經驗總結(2)- 使用EasyUI的樹控件構建Web界面
set 應用 get ember trim ase str zab ble http://www.cnblogs.com/wuhuacong/p/3669575.html 最近花了不少時間在重構和進一步提煉我的Web開發框架上,力求在用戶體驗和界面設計方面,和Winfor
(轉)基於MVC4+EasyUI的Web開發框架經驗總結(6)--在頁面中應用下拉列表的處理
ica new web開發 don ext images 如果 bob 獲取 http://www.cnblogs.com/wuhuacong/p/3840321.html 在很多Web界面中,我們都可以看到很多下拉列表的元素,有些是固定的,有些是動態的;有些是字典內容,
(轉)基於MVC4+EasyUI的Web開發框架經驗總結(8)--實現Office文檔的預覽
討論 off info code .cn viewer 存在 nco app http://www.cnblogs.com/wuhuacong/p/3871991.html 基於MVC4+EasyUI的Web開發框架經驗總結(8)--實現Office文檔的預覽
erlang程序優化點的總結(轉)
數據庫 機器 ria 嚴重 多線程 分別是 簡單 構造 代碼實現 註意,這裏只是給出一個總結,具體性能需要根據實際環境和需要來確定 霸爺指出,新的erlang虛擬機有很多調優啟動參數,今後現在這個方面深挖一下。 1. 進程標誌設置: 消息和binary內
Java IO流學習總結(轉)
rar output 出現 arr system 不存在 技術分享 輸出 寫入 原文地址:http://www.cnblogs.com/oubo/archive/2012/01/06/2394638.html Java流操作有關的類或接口: Java流類圖結構:
集成學習算法總結----Boosting和Bagging(轉)
原理 過程 訓練 嚴重 oos 機器學習 ppr 次數 error 1、集成學習概述 1.1 集成學習概述 集成學習在機器學習算法中具有較高的準去率,不足之處就是模型的訓練過程可能比較復雜,效率不是很高。目前接觸較多的集成學習主要有2種:基於Boosting的和基於Bagg
C#中WinForm程序退出方法技巧總結 (轉)
ren sender body 登錄 ble 按鈕 動作 打開 alt 一、關閉窗體 在c#中退出WinForm程序包括有很多方法,如:this.Close(); Application.Exit();Application.ExitThread(); System.E
常見性能優化策略的總結(轉)
觸發 air 技術 敏捷 返回 好的 依賴 pan 支付 看到一篇好文,轉過來好好學習 閱讀目錄 代碼 數據庫 緩存 異步 NoSQL JVM調優 多線程與分布式 度量系統(監控、報警、服務依賴管理) 案例一:商家與控制區關系的刷新job 案例二:POI緩存設計與實現
前端筆記----jquery入門知識點總結 (轉)
outer 尺寸 對象 層級 ani 入門 fontsize fun click http://www.cnblogs.com/cwp-bg/p/7633623.html 一、jquery的加載方法 $(document).ready(function(){js代碼});
安卓手機GPU OpenCL總結(轉)
性能 網上 gin bsp 策略 測試的 公司 ocl adding 前段時間,把市面上手機GPU OpenCL支持情況做了一個總結。總結如下: 目前,手機 GPU 市面有四個公司產品:Qualcomm, Imagination Technologies,ARM, Viva
Linux命令總結(轉)
查看登陸 oca 下一個 同時 找到 刪除用戶 mtime 高亮 數值 1.ls [選項] [目錄名 | 列出相關目錄下的所有目錄和文件 -a 列出包括.a開頭的隱藏文件的所有文件 -A 通-a,但不列出"."和".." -l 列出文件的詳細信息 -c 根據ctim
javaweb學習總結(十一)——使用Cookie進行會話管理(轉)
緩存 利用 iter() 自然 web har oca main end 一、會話的概念 會話可簡單理解為:用戶開一個瀏覽器,點擊多個超鏈接,訪問服務器多個web資源,然後關閉瀏覽器,整個過程稱之為一個會話。 有狀態會話:一個同學來過教室,下次再來教室,我們會知道這個
JavaWeb學習總結(十三)——使用Session防止表單重復提交(轉)
Coding etc pub submit exce sdf patch 傳輸 alt 在平時開發中,如果網速比較慢的情況下,用戶提交表單後,發現服務器半天都沒有響應,那麽用戶可能會以為是自己沒有提交表單,就會再點擊提交按鈕重復提交表單,我們在開發中必須防止表單重復提交。
javaweb學習總結(十五)——JSP基礎語法(轉)
troy 嚴格 too cal service alt 隱式 情況 當前系統時間 任何語言都有自己的語法,JAVA中有,JSP雖然是在JAVA上的一種應用,但是依然有其自己擴充的語法,而且在JSP中,所有的JAVA語句都可以使用。 一、JSP模版元素 JSP頁面中的H
Fiddler 抓包工具總結(轉)
人的 現在 手機 inspect bubuko lec 開啟 區分 cmd 閱讀目錄 1. Fiddler 抓包簡介 1). 字段說明 2). Statistics 請求的性能數據分析 3). Inspectors 查看數據內容