android 进度对话框(ProgressDialog)的使用

使用对话框进度条的时候,xml文件中不必定义ProgressBar控件,只定义了button,点击button 方法体showDialog(显示对话框)

补充:对话框Dialoghttp://blog.csdn.net/ameyume/article/details/6138488

对话框一般用于提示信息和与当前应用程序直接相关的小功能.

 Android API 支持下列类型的对话框对象:
AlertDialog
(警告对话框) 一个可以有03个按钮, 一个单选框或复选框的列表的对话框. 警告对话框可以创建大多数的交互界面, 是推荐的类型.
ProgressDialog
(进度对话框) 显示一个进度环或者一个进度条. 由于它是AlertDialog的扩展, 所以它也支持按钮.
DatePickerDialog
(日期选择对话框) 让用户选择一个日期.
TimePickerDialog
(时间选择对话框) 让用户选择一个时间. Showing a Dialog 显示对话框

标题栏进度条

步骤

(1)调用ActivityrequestWindowFeature(),获得进度条

(2)调用ActivitysetProgressBarIndeterminateVisibilitytrue)方法显示进度条;true为显示,false为隐藏

补充:requestWindowFeature()常用方法

DEFAULT_FEATURES:系统默认状态,一般不需要指定

FEATURE_CONTEXT_MENU:启用ContextMenu,默认该项已启用,一般无需指定

FEATURE_CUSTOM_TITLE:自定义标题。当需要自定义标题时必须指定。如:标题是一个按钮时

FEATURE_INDETERMINATE_PROGRESS:不确定的进度

FEATURE_LEFT_ICON:标题栏左侧的图标

FEATURE_RIGHT_ICON:标题栏右侧的图标

FEATURE_NO_TITLE:无标题

FEATURE_OPTIONS_PANEL:启用“选项面板”功能,默认已启用。

FEATURE_PROGRESS:进度指示器功能

 

水平进度条

的步骤说明如下:(例子ProgressBarLevel

(1)在布局文件中声明progressBar

(2)activity中获得progressBar示例

(3)调用ProgressBarincrementProgressBy()方法增加或减少进度

创建标题栏进度条的步骤如下;

1)调用ActivityrequestWindowFeature()方法,获得进度条

设置风格

style="@android:attr/progressBarStyleHorizontal"为长形 (常用)

style="@android:attr/progressBarStyleLarge" 表示超大号ProgressBar

style="@android:attr/progressBarStyleSmall" 表示小号ProgressBar

style="@android:attr/progressBarStyleSmallTitle" 为超小号 ProgressBar

 

android:max="100"  最大进度值为100

android:progress="50" 初始化的进度值

android:secondaryProgress="70" 初始化的底层第二个进度值 android:layout_gravity="center_vertical" 垂直居中

代码中运用

       private ProgressBar myProgressBar;  //定义ProgressBar myProgressBar=(ProgressBar)findViewById(R.id.progressbar_updown);

  //ProgressBar通过ID来从XML中获取

       myProgressBar.incrementProgressBy(5); //ProgressBar进度值增加5   myProgressBar.incrementProgressBy(-5);  //ProgressBar进度值减少5   myProgressBar.incrementSecondaryProgressBy(5);

  //ProgressBar背后的第二个进度条 进度值增加5

  myProgressBar.incrementSecondaryProgressBy(-5);

 页面标题中的长形进度条

 

 代码实现:

  ①先设置一下窗口风格特性requestWindowFeature(Window.FEATURE_PROGRESS); //请求一个窗口进度条特性风格

  setContentView(R.layout.main);

  setProgressBarVisibility(true);  //设置进度条可视

②然后设置进度值 setProgress(myProgressBar.getProgress() * 100);

  //设置标题栏中前景的一个进度条进度值

   setSecondaryProgress(myProgressBar.getSecondaryProgress() * 100);

  //设置标题栏中后面的一个进度条进度值 //ProgressBar.getSecondaryProgress() 用来获取其他进度条的进度值

  ProgressDialog

  ProgressDialog中的圆形进度条

  ProgressDialog一般用来表示一个系统任务或是开启任务时候的进度

  代码实现:

   ProgressDialog mypDialog=new ProgressDialog(this);
  //实例化

  mypDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
  //设置进度条风格,风格为圆形,旋转的

  mypDialog.setTitle("进度条");
  //设置ProgressDialog 标题

  mypDialog.setMessage(getResources().getString(R.string.second));
  //设置ProgressDialog 提示信息

  mypDialog.setIcon(R.drawable.android);
  //设置ProgressDialog 标题图标

  mypDialog.setButton("进度条",this);
  //设置ProgressDialog 的一个Button

  mypDialog.setIndeterminate(false);
  //设置ProgressDialog 的进度条是否不明确

  mypDialog.setCancelable(true);
  //设置ProgressDialog 是否可以按退回按键取消

  mypDialog.show();
  //让ProgressDialog显示


ProgressDialog中的水平进度条

  代码实现:

  ProgressDialog mypDialog=new ProgressDialog(this);
  //实例化

  mypDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
  //设置进度条风格,风格为长形,有刻度的

  mypDialog.setTitle("进度条");
  //设置ProgressDialog 标题

  mypDialog.setMessage(getResources().getString(R.string.second));
  //设置ProgressDialog 提示信息

  mypDialog.setIcon(R.drawable.android);
  //设置ProgressDialog 标题图标

  mypDialog.setProgress(59);
  //设置ProgressDialog 进度条进度

  mypDialog.setButton("按钮",this);
  //设置ProgressDialog 的一个Button

  mypDialog.setIndeterminate(false);
  //设置ProgressDialog 的进度条是否不明确

  mypDialog.setCancelable(true);
  //设置ProgressDialog 是否可以按退回按键取消

  mypDialog.show();
  //显示

 水平进度条实例

 

● 标题的设置,调用setTitle()方法。
● 消息的设置,调用setMessage()方法。
● 在确定(indeterminate=false)的进度条对话框里,进度最大值的设置,调用setMax()方法。
● 当前进度值的设置,调用setProgress()方法。
● 第2个进度值的设置,调用setSecondaryProgress()方法
● 当前进度值的设置,调用incrementProgressBy()方法
● 第2进度值的增减,调用incrementSecondaryProgressBy()方法

● 进度对话框风格的设置,调用setProgressStyle()方法。
         ProgressDialog.STYLE_SPINNER  旋体进度条风格
         ProgressDialog.STYLE_HORIZONTAL 横向进度条风格
        ※默认风格是ProgressDialog.STYLE_SPINNER旋体进度条风格
● 取消按钮的设置,调用setCancelable()方法。
● 进度对话框的表示,调用show()方法。

示例源码:

ProgressDialog pd = new ProgressDialog(this);
        pd.setTitle("标题");
        pd.setMessage("提示信息");
        pd.setIndeterminate(false);
        pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
        pd.setMax(100);
        pd.incrementProgressBy(15);
        pd.incrementSecondaryProgressBy(85);
        pd.setCancelable(true);
	pd.show();

猜你喜欢

转载自wangqiang6028.iteye.com/blog/1863350