当前位置: 代码迷 >> Android >> Android学习笔记(9)——更复杂的进度对话框
  详细解决方案

Android学习笔记(9)——更复杂的进度对话框

热度:27   发布时间:2016-04-28 05:48:49.0
Android学习笔记(九)——更复杂的进度对话框

显示操作进度的对话框


1、使用上一篇创建的同一项目,在activity_main.xml文件中添加一个Button:

    <Button        android:id="@+id/btn_dialog3"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:onClick="onClick3"        android:text="Click to display a detailed progress dialog" />

2、在MainActivity.java文件中添加具体的进度条实现代码:

首先添加onClick3()方法:

public void onClick3(View v) {		showDialog(1);// id为1,在调用回调方法onCreateDialog()时,将id传进去,使其选择case 1情况。		progressDialog.setProgress(0);// 从0开始		new Thread(new Runnable() {			@Override			public void run() {				// TODO Auto-generated method stub				for (int i = 1; i <= 10; i++) {					try {						Thread.sleep(1000);						progressDialog.incrementProgressBy(100 / 10);// 步进为10					} catch (InterruptedException e) {						// TODO: handle exception						e.printStackTrace();					}				}				progressDialog.dismiss();// 销毁对话框			}		}).start();	}
再在onCreateDialog()回调方法中添加id=1时的代码(即实现显示操作进度对话框的代码):

case 1:			progressDialog = new ProgressDialog(this);			progressDialog.setIcon(R.drawable.ic_launcher);			progressDialog.setTitle("Downloading files...");			progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);// 设置进度条样式			progressDialog.setButton(DialogInterface.BUTTON_POSITIVE, "OK",// 设置OK按钮					new DialogInterface.OnClickListener() {						@Override						public void onClick(DialogInterface dialog, int which) {							// TODO Auto-generated method stub							Toast.makeText(getBaseContext(), "OK clicked!",									Toast.LENGTH_SHORT).show();						}					});			progressDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "Cancel",// 设置取消按钮					new DialogInterface.OnClickListener() {						@Override						public void onClick(DialogInterface dialog, int which) {							// TODO Auto-generated method stub							Toast.makeText(getBaseContext(), "Cancel clicked!",									Toast.LENGTH_SHORT).show();						}					});			return progressDialog;

3、运行一下,效果如下:



点击此处下载完整代码~

  相关解决方案