-------------------------------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(); } }); } }