-------------------------------XML------------------------
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.dialog.MainActivity"><Button android:id="@+id/button_cicle" android:text="圆形进度条" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="wrap_content" /><Button android:id="@+id/button_long" android:text="长形进度条" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
----------------------------------------MainActivity--------------------------------------
package com.example.dialog;import android.app.Dialog; import android.app.ProgressDialog; import android.content.DialogInterface; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button;public class MainActivity extends AppCompatActivity {Button buttoncicle;Button buttonlong;ProgressDialog myDialog;@Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);buttoncicle=(Button)this.findViewById(R.id.button_cicle);buttonlong=(Button)this.findViewById(R.id.button_long);buttoncicle.setOnClickListener(new View.OnClickListener() { //圆形进度条监听 @Override public void onClick(View view) {myDialog=new ProgressDialog(MainActivity.this); //创建ProgressDialog对象 myDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); //设置进度条形状为圆形 myDialog.setTitle("提示"); //设置进度条标题信息 myDialog.setMessage("数据加载中,请稍后..."); //设置进度条的提示信息 myDialog.setIcon(R.mipmap.ic_launcher); //设置进度条的图标 myDialog.setCancelable(true); //设置进度条是否可通过按返回键取消 myDialog.setIndeterminate(false); //设置进度条是否不明确 myDialog.setButton("确定", new DialogInterface.OnClickListener() {@Override public void onClick(DialogInterface dialogInterface, int i) {myDialog.dismiss(); //撤销进度条 }});myDialog.show(); //显示进度条 }});buttonlong.setOnClickListener(new View.OnClickListener() {int count=0;@Override public void onClick(View view) {myDialog=new ProgressDialog(MainActivity.this);myDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); //设置进度条形状为长条形 myDialog.setTitle("提示");myDialog.setMessage("数据加载中,请稍后...");myDialog.setIndeterminate(false); //设置进度条是否为不明确 myDialog.setCancelable(true);myDialog.setIcon(R.mipmap.ic_launcher);myDialog.setMax(200); //设置进度条的最大值为200 myDialog.setSecondaryProgress(100); //设置第二进度条的值为100 myDialog.setButton("取消", new DialogInterface.OnClickListener() {@Override public void onClick(DialogInterface dialogInterface, int i) {myDialog.cancel();}});myDialog.show(); //显示进度条 new Thread(){ //定义线程,动态改变当前进度条的值 public void run(){while (count<=200){myDialog.setProgress(count++); //设置当前进度条的值 try{Thread.sleep(100); //暂停0.1秒 }catch (InterruptedException e){e.printStackTrace();}}}}.start();}});} }