《Android 4 编程入门经典》读书笔记 之 复杂进度对话框

来源:互联网 发布:购买淘宝企业店铺 编辑:程序博客网 时间:2024/06/17 00:05


1、首先南需要创建 ProgressDialog 类的一个实例,并设置各个属性。设置在进度对话框中显示的两个按钮。

@Override    protected Dialog onCreateDialog(int id){        switch (id){                        case 1:                progressDialog = new ProgressDialog(this);                progressDialog.setIcon(R.mipmap.ic_launcher);                progressDialog.setTitle("文件下载中...");                progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);                //设置确定按钮                progressDialog.setButton(DialogInterface.BUTTON_POSITIVE, "确定",                        new DialogInterface.OnClickListener() {                            @Override                            public void onClick(DialogInterface dialogInterface, int i) {                                Toast.makeText(getBaseContext(), "点击了确定接钮", Toast.LENGTH_SHORT).show();                            }                        });                //设置关闭按扭                progressDialog.setButton(DialogInterface.BUTTON_NEGATIVE,                        "关闭",                        new DialogInterface.OnClickListener() {                            @Override                            public void onClick(DialogInterface dialogInterface, int i) {                                Toast.makeText(getBaseContext(), "点击了关闭接钮", Toast.LENGTH_SHORT).show();                            }                        });                //返回实例                return progressDialog;    }        return null;    }

2、在按钮点击事件中设置并改变进度条的状态。

public void onClick3(View view){        showDialog(1);        progressDialog.setProgress(0);        new Thread(new Runnable() {            @Override            public void run() {                for(int i=1;i<=15;i++){                    try{                        Thread.sleep(1000);                        progressDialog.incrementProgressBy((int)(100/15));                    }catch (InterruptedException e){                        e.printStackTrace();                    }                }                progressDialog.dismiss();            }        }).start();    }


0 0