pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

Android開發(fā)之ProgressDialog進度對話框用法示例

這篇文章主要介紹了Android開發(fā)之ProgressDialog進度對話框用法,簡單介紹了ProgressDialog進度對話框常見函數(shù)功能,并結(jié)合實例形式分析了ProgressDialog組件創(chuàng)建及使用進度對話框相關(guān)操作技巧,需

本文實例講述了Android開發(fā)之ProgressDialog進度對話框用法。分享給大家供大家參考,具體如下:

使用方法:

如果只是普通進度對話框 直接調(diào)用ProgressDialog靜態(tài)方法 show() 即可
創(chuàng)建ProgressDialog 調(diào)用方法進行具體設(shè)置
setIndeterminate(false); 設(shè)置進度條是否顯示進度
setMax(MAX_PROGRESS); 設(shè)置進度條的最大值
setMessage("..."); 設(shè)置對話框執(zhí)行內(nèi)容
setProgressStyle(ProgressDialog.STYLE_HORIZONTAL) 設(shè)置對話框進度條風格
setProgress() 設(shè)置 進度條內(nèi)的進度值(當前)

效果:

代碼實現(xiàn):

主要是兩種類型

1.帶耗時操作  showIndeterminate

2.不帶耗時操作 showProgress

具體實現(xiàn):


public class MainActivity extends Activity {
  final static int MAX_PROGRESS = 100;
  //虛擬 填充長度為100的數(shù)組
  private int[] data = new int[50];
  //記錄進度對話框完成百分比
  int progressStatus = 0;
  int hasDta = 0;
  ProgressDialog progressDialog01,progressDialog02;
  private Button buttonDate;
  private Button buttonTime;
  //創(chuàng)建一個負責更新進度的Handler
  Handler mHandler = new Handler(){
    @Override
    public void handleMessage(Message msg) {
      //表明消息是本程序發(fā)送的
      if (msg.what == 0x111){
        progressDialog02.setProgress(progressStatus);
      }
    }
  };
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    buttonDate = (Button) findViewById(R.id.dataBn);
    buttonTime = (Button) findViewById(R.id.timeBn);
    iniClick();//Binding the listeners for you program
  }
  public void showSpinner(View source){
    //用靜態(tài)方法顯示環(huán)形進度條
    ProgressDialog.show(this,"任務(wù)執(zhí)行中","熱內(nèi)執(zhí)行中 請等待...",false,true);
  }
  public void showIndeterminate(View source){
    progressDialog01 = new ProgressDialog(MainActivity.this);
    //設(shè)置對話框標題
    progressDialog01.setTitle("任務(wù)正在執(zhí)行中");
    //設(shè)置對話框執(zhí)行內(nèi)容
    progressDialog01.setMessage("任務(wù)正在執(zhí)行中敬請等待~~~");
    //設(shè)置對話框“取消” 按鈕關(guān)閉
    progressDialog01.setCancelable(true);
    //設(shè)置對話框進度條風格
    progressDialog01.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
    //設(shè)置進度條是否顯示進度
    progressDialog01.setIndeterminate(true);
    progressDialog01.show();
  }
  public void showProgress(View source){
    //將進度條完成重設(shè)為0
    progressStatus = 0;
    //重新開始填充數(shù)組
    hasDta = 0;
    progressDialog02 = new ProgressDialog(MainActivity.this);
    progressDialog02.setMax(MAX_PROGRESS);
    //設(shè)置對話框標題
    progressDialog02.setTitle("任務(wù)正在執(zhí)行中");
    //設(shè)置對話框執(zhí)行內(nèi)容
    progressDialog02.setMessage("任務(wù)正在執(zhí)行中敬請等待~~~");
    //設(shè)置對話框“取消” 按鈕關(guān)閉
    progressDialog02.setCancelable(false);
    //設(shè)置對話框進度條風格
    progressDialog02.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
    //設(shè)置進度條是否顯示進度
    progressDialog02.setIndeterminate(false);
    progressDialog02.show();
    new Thread(){//模擬耗時操作
      @Override
      public void run() {
        while (progressStatus < MAX_PROGRESS){
          //bar1獲取完成工作的百分比
          progressStatus += (int) (Math.random()*15);
          try{
            Thread.sleep(1000);
          }catch (InterruptedException e){
            e.printStackTrace();
          }
          //更新ProgressBar
          mHandler.sendEmptyMessage(0x111);
        }
        //任務(wù)完成進度條關(guān)閉
        progressDialog02.dismiss();
      }
    }.start();
  }
  public void iniClick(){
    //set listener for your Date button
    buttonDate.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        showIndeterminate(MainActivity.this.getWindow().getDecorView());
      }
    });
    //set listener for your Time button
    buttonTime.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        showProgress(MainActivity.this.getWindow().getDecorView());
      }
    });
  }
}

以下是布局文件:


<?xml version="1.0" encoding="utf-8" ?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/idtatabHost"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="horizontal"
  android:layout_weight="1">
  <Button
    android:id="@+id/dataBn"
    android:text="一般進度條"
    android:layout_width="0dp"
    android:layout_weight="1"
    android:layout_height="wrap_content" />
  <Button
    android:id="@+id/timeBn"
    android:text="帶耗時進度條"
    android:layout_width="0dp"
    android:layout_weight="1"
    android:layout_height="wrap_content" />
</LinearLayout>

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android開發(fā)入門與進階教程》、《Android調(diào)試技巧與常見問題解決方法匯總》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)》

希望本文所述對大家Android程序設(shè)計有所幫助。

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

這篇文章主要介紹了Android開發(fā)之TabHost選項卡及相關(guān)疑難解決方法,結(jié)合實例形式較為詳細的分析了Android開發(fā)中TabHost選項卡的常見用法以及相關(guān)疑難問題解決方法,需要的朋友可以參考下
這篇文章主要介紹了Android TabHost選項卡標簽圖標始終不出現(xiàn)的解決方法,涉及Android界面布局相關(guān)屬性與狀態(tài)設(shè)置操作技巧,需要的朋友可以參考下
這篇文章主要介紹了Android開發(fā)之Notification手機狀態(tài)欄通知用法,結(jié)合實例形式分析了Android Notification手機狀態(tài)欄通知的常見函數(shù)、功能及使用技巧,需要的朋友可以參考下
這篇文章主要介紹了Android開發(fā)實現(xiàn)模仿微信小窗口功能,結(jié)合實例形式分析了Android實現(xiàn)微信風格Dialog對話框窗口相關(guān)功能與布局操作技巧,需要的朋友可以參考下
這篇文章主要介紹了Android開發(fā)之PopupWindow創(chuàng)建彈窗、對話框的方法,結(jié)合實例形式詳細分析了Android使用PopupWindow創(chuàng)建對話框相關(guān)操作技巧,需要的朋友可以參考下
這篇文章主要介紹了Android開發(fā)之DatePickerDialog、TimePickerDialog時間日期對話框用法,結(jié)合實例形式分析了Android使用DatePickerDialog、TimePickerDialog顯示日期時間相關(guān)操作技巧,需要的朋友可以參考
主站蜘蛛池模板: 电镀标牌_电铸标牌_金属标贴_不锈钢标牌厂家_深圳市宝利丰精密科技有限公司 | 外贮压-柜式-悬挂式-七氟丙烷-灭火器-灭火系统-药剂-价格-厂家-IG541-混合气体-贮压-非贮压-超细干粉-自动-灭火装置-气体灭火设备-探火管灭火厂家-东莞汇建消防科技有限公司 | 食品级焦亚硫酸钠_工业级焦亚硫酸钠_焦亚硫酸钠-潍坊邦华化工有限公司 | 咖啡加盟-咖啡店加盟-咖啡西餐厅加盟-塞纳左岸咖啡西餐厅官网 | 中开泵,中开泵厂家,双吸中开泵-山东博二泵业有限公司 | 上海办公室装修,写字楼装修—启鸣装饰设计工程有限公司 | 高压分散机(高压细胞破碎仪)百科-北京天恩瀚拓 | 超声波电磁流量计-液位计-孔板流量计-料位计-江苏信仪自动化仪表有限公司 | 播音主持培训-中影人教育播音主持学苑「官网」-中国艺考界的贵族学校 | 新型锤式破碎机_新型圆锥式_新型颚式破碎机_反击式打沙机_锤式制砂机_青州建源机械 | 考勤系统_人事考勤管理系统_本地部署BS考勤系统_考勤软件_天时考勤管理专家 | 海德莱电力(HYDELEY)-无功补偿元器件生产厂家-二十年专业从事电力电容器 | 环氧乙烷灭菌器_压力蒸汽灭菌器_低温等离子过氧化氢灭菌器 _低温蒸汽甲醛灭菌器_清洗工作站_医用干燥柜_灭菌耗材-环氧乙烷灭菌器_脉动真空压力蒸汽灭菌器_低温等离子灭菌设备_河南省三强医疗器械有限责任公司 | 无菌实验室规划装修设计-一体化实验室承包-北京洁净净化工程建设施工-北京航天科恩实验室装备工程技术有限公司 | 对辊式破碎机-对辊制砂机-双辊-双齿辊破碎机-巩义市裕顺机械制造有限公司 | 真空泵维修保养,普发,阿尔卡特,荏原,卡西亚玛,莱宝,爱德华干式螺杆真空泵维修-东莞比其尔真空机电设备有限公司 | OLChemim试剂-ABsciex耗材-广州市自力色谱科仪有限公司 | 知网论文检测系统入口_论文查重免费查重_中国知网论文查询_学术不端检测系统 | 光照全温振荡器(智能型)-恒隆仪器 | 广州展览制作|展台制作工厂|展览设计制作|展览展示制作|搭建制作公司 | 聚丙烯酰胺_阴离子_阳离子「用量少」巩义亿腾厂家直销,售后无忧 聚合甘油__盐城市飞龙油脂有限公司 | 深圳市宏康仪器科技有限公司-模拟高空低压试验箱-高温防爆试验箱-温控短路试验箱【官网】 | 冷凝锅炉_燃气锅炉_工业燃气锅炉改造厂家-北京科诺锅炉 | 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 超声波_清洗机_超声波清洗机专业生产厂家-深圳市好顺超声设备有限公司 | 鑫铭东办公家具一站式定制采购-深圳办公家具厂家直销 | 飞象网 - 通信人每天必上的网站 全球化工设备网—化工设备,化工机械,制药设备,环保设备的专业网络市场。 | 断桥铝破碎机_铝合金破碎机_废铁金属破碎机-河南鑫世昌机械制造有限公司 | 钢格板|热镀锌钢格板|钢格栅板|钢格栅|格栅板-安平县昊泽丝网制品有限公司 | 隔离变压器-伺服变压器--输入输出电抗器-深圳市德而沃电气有限公司 | 生物颗粒燃烧机-生物质燃烧机-热风炉-生物颗粒蒸汽发生器-丽水市久凯能源设备有限公司 | 天一线缆邯郸有限公司_煤矿用电缆厂家_矿用光缆厂家_矿用控制电缆_矿用通信电缆-天一线缆邯郸有限公司 | 欧景装饰设计工程有限公司-无锡欧景装饰官网 | 武汉创亿电气设备有限公司_电力检测设备生产厂家 | 齿式联轴器-弹性联轴器-联轴器厂家-江苏诺兴传动联轴器制造有限公司 | 杭州顺源过滤机械有限公司官网-压滤机_板框压滤机_厢式隔膜压滤机厂家 | 华溶溶出仪-Memmert稳定箱-上海协烁仪器科技有限公司 | 聚氨酯复合板保温板厂家_廊坊华宇创新科技有限公司 | 电动不锈钢套筒阀-球面偏置气动钟阀-三通换向阀止回阀-永嘉鸿宇阀门有限公司 | 专注提供国外机电设备及配件-工业控制领域一站式服务商-深圳市华联欧国际贸易有限公司 | 湖南档案密集架,智能,物证,移动,价格-湖南档案密集架厂家 |