Android--创建进度框ProgressDialog
2013-12-12 10:18
411 查看
1、布局文件progress_dialog_activity.xml
2、Activity类ProgressDialogActivity.java
3、运行效果
![](http://images.cnitblog.com/blog/408749/201312/12101723-d4c2a41280b7460a8ed1257569b2c916.jpg)
一个带实时进度的对话框
代码如下:
运行效果:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <Button android:id="@+id/btn_progress_dialog" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/btn_progress_dialog_text" android:layout_gravity="center_horizontal"/> </LinearLayout>
2、Activity类ProgressDialogActivity.java
package cn.luxh.dialognew; import android.app.Activity; import android.app.ProgressDialog; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class ProgressDialogActivity extends Activity { private Button btn_progress_dialog; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.progress_dialog_activity); handleBtnProgressDialogClick(); } /** * 处理按钮事件 */ private void handleBtnProgressDialogClick() { btn_progress_dialog = (Button) findViewById(R.id.btn_progress_dialog); btn_progress_dialog.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { createProgressDialog(); } }); } /** * 生成进度对话框 */ private void createProgressDialog() { //显示进度对话框 final ProgressDialog progressDialog = ProgressDialog.show(this, "提示", "处理中..."); //业务处理 new Thread(new Runnable(){ @Override public void run() { try { Thread.sleep(10000); progressDialog.dismiss();//取消进度对话框 } catch (InterruptedException e) { e.printStackTrace(); } } }).start(); } }
3、运行效果
![](http://images.cnitblog.com/blog/408749/201312/12101723-d4c2a41280b7460a8ed1257569b2c916.jpg)
一个带实时进度的对话框
代码如下:
package cn.luxh.dialognew; import android.app.Activity; import android.app.ProgressDialog; import android.content.DialogInterface; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; public class ProgressDialogActivity extends Activity { private Button btn_progress_dialog; private ProgressDialog progressDialog; private static final String TAG = "ProgressDialogActivity"; //控制线程中断 private static boolean isRun = true; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.progress_dialog_activity); handleBtnProgressDialogClick(); } /** * 处理按钮事件 */ private void handleBtnProgressDialogClick() { btn_progress_dialog = (Button) findViewById(R.id.btn_progress_dialog); btn_progress_dialog.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { isRun = true; createProgressDialog2(); progressDialog.show(); progressDialog.setProgress(0); new Thread(new Runnable(){ @Override public void run() { int i = 1; while(isRun && i<=20) { try { Log.d(TAG, "i is:"+i); Thread.sleep(1500); progressDialog.incrementProgressBy(100/20); i++; } catch (InterruptedException e) { isRun = false;//中断线程 e.printStackTrace(); } } } }).start(); } }); } /** * 生成进度对话框 */ private void createProgressDialog2() { progressDialog = new ProgressDialog(this); progressDialog.setIcon(R.drawable.ic_launcher); progressDialog.setTitle("实时进度..."); progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); progressDialog.setCancelable(false);//设置模态窗口 progressDialog.setButton(ProgressDialog.BUTTON_POSITIVE, "确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { isRun = false;//中断线程 Toast.makeText(getBaseContext(), "确定按钮被点击!", Toast.LENGTH_SHORT).show(); } }); progressDialog.setButton(ProgressDialog.BUTTON_NEGATIVE, "取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { isRun = false;//中断线程 Toast.makeText(getBaseContext(), "取消按钮被点击!", Toast.LENGTH_SHORT).show(); } }); } }
运行效果:
![](http://images.cnitblog.com/blog/408749/201312/12114613-7229afe0e4894062bb7bb624d7623c0c.jpg)
相关文章推荐
- Android中使用ProgressDialog创建进度对话框
- Android ProgressDialog创建三种简单的进度对话框
- Android 动态创建圆形进度条
- android应用与服务器交互时的进度对话框ProgressDialog
- Android中创建一个透明的进度对话框实例
- Android之ProgressBar ProgressDialog 进度条 进度条对话框
- Android--ProgressBar(进度条)、ProgressDialog(进度条对话框)
- android 通过构造创建进度对话框
- android 自动更新APP版本,并使用ProgressDialog显示进度
- Android自定义ProgressDialog进度等待框
- Android对话框(二)进度条对话框ProgressDialog和自定义对话框CustomDialog
- Android的ProgressDialog进度对话框的使用
- Android菜鸟在成长-进度处理对话框:ProgressDialog水平进度条
- Android ProgressDialog进度条 等待条
- Android自定义ProgressDialog进度等待框
- 使用ProgressDialog创建进度对话框
- Android之进度条对话框Progressdialog
- 2017六月末之Android开发之ProgressDialog读取文件进度进行解析
- 使用ProgressDialog创建进度对话框
- 一起学android之创建简单的ProgressDialog(30)