`
mickey_hou
  • 浏览: 235506 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

ProgressDialog进度条显示

阅读更多
private ProgressDialog pdialog;
   
    private Handler proHandler;
   
    private static int MAX_PROGRESS = 100;
   
    private int progress;


showProgressDialog(ProgressDialog.STYLE_HORIZONTAL);
showProgressDialog(ProgressDialog.STYLE_SPINNER);


private void showProgressDialog(int style)
    {
        pdialog = new ProgressDialog(context);
        pdialog.setIcon(R.drawable.icon);
        pdialog.setTitle("数据处理中...");
        pdialog.setMessage("请稍后...");
        pdialog.setProgressStyle(style);
        pdialog.setMax(MAX_PROGRESS);
        pdialog.setButton("暂停", new DialogInterface.OnClickListener()
        {
            @Override
            public void onClick(DialogInterface dialog, int which)
            {
                proHandler.removeMessages(1);
            }
        });
        pdialog.setButton("取消", new DialogInterface.OnClickListener()
        {
            @Override
            public void onClick(DialogInterface dialog, int which)
            {
                proHandler.removeMessages(1);
                progress = 0;
                pdialog.setProgress(0);
            }
        });
        pdialog.show();
       
        proHandler = new Handler()
        {
            public void handleMessage(Message msg)
            {
                super.handleMessage(msg);
                if (progress >= MAX_PROGRESS)
                {
                    progress = 0;
                    pdialog.dismiss();
                }
                else
                {
                    progress++;
                    pdialog.incrementProgressBy(1);
                    proHandler.sendEmptyMessageDelayed(1, 50 + new Random().nextInt(500));
                }
            };
        };
        progress = (progress > 0) ? progress : 0;
        pdialog.setProgress(progress);
        proHandler.sendEmptyMessage(1);
    }
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics