您的位置首页生活百科

android ProgressDialog实例

android ProgressDialog实例

的有关信息介绍如下:

android ProgressDialog实例

之前已经学习过了对话框和进度条控件,那么现在将进度条加入到对话框中,就是ProgressDialog这个控件,进度条的展示有长形和圆形两种,通过一个实例进行学习。

新建一个android项目,名字叫ProgressDialogShow,参数可以自己设定,点击完成,可以得到下面的结果图

在实例中的界面,声明两个按钮,一个是打开长形进度条的对话框,一个是打开圆形进度条的对话框。

android:id="@+id/..." 声明button的ID

android:layout_width="fill_parent" 与父控件的宽度一致

android:layout_length="wrap_content" 与自身控件高度一致

android:text="" button控件展示的文本

首先看看ProgressDialog里面的方法

setProgressStyle:设置进度条风格,风格为圆形,旋转的。setTitlt:设置标题setMessage:设置提示信息;setIcon:设置标题图标;setIndeterminate:设置ProgressDialog的进度条是否不明确;这个属性对于ProgressDailog默认的转轮模式没有实际意义,默认下设置为true,它仅仅对带有ProgressBar的Dialog有作用。修改这个属性为false后可以实时更新进度条的进度。setCancelable:设置ProgressDialog是否可以按返回键取消;

CancelListner:当前Dialog强制取消之后将会被执行,通常用来清理未完成的任务。setButton:设置ProgressDialog的一个Button(需要监听Button事件);show:显示ProgressDialog。

cancel:删除progressdialog

dismiss: 删除progressdialog 作用和cancel相同

setProgress(intCounter);更新进度条,当然一般都需要Handler的结合来更新进度条

主体程序,

//找到两个button按钮,注册上响应的事件函数

longT=(Button)this.findViewById(R.id.longT);

circle=(Button)this.findViewById(R.id.circle);

longT.setOnClickListener(longClicker);

circle.setOnClickListener(circleClicker);

紧接上步,longClicker声明如下:

private OnClickListener longClicker = new OnClickListener(){

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

m_count=0;

//创建ProgressDialog对象

m_pDialog=new ProgressDialog(ProgressDialogT.this);

//设置标题

m_pDialog.setTitle("长进度条信息");

//设置进度条风格

m_pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

//设置提示信息

m_pDialog.setMessage("这是一个长进度条");

//设置标题图标

m_pDialog.setIcon(R.drawable.icon);

//设置进度条是否不明确

m_pDialog.setIndeterminate(false);

//是否可以按下退回键取消

m_pDialog.setCancelable(true);

//开启线程,显示进度

new Thread() {

public void run() {

try {

while(m_count <= 100) {

// 由线程来控制进度

m_pDialog.setProgress(m_count++);

Thread.sleep(100);

}

m_pDialog.cancel();

} catch (Exception e) {

m_pDialog.cancel();

}

}

}.start();

//展示ProgressDialog 对象

m_pDialog.show();

}

};

对于circleClicker的声明:

private OnClickListener circleClicker = new OnClickListener(){

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

m_count=0;

//创建ProgressDialog对象

m_pDialog=new ProgressDialog(ProgressDialogT.this);

//设置标题

m_pDialog.setTitle("圆形进度条信息");

//设置进度条风格

m_pDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);

//设置提示信息

m_pDialog.setMessage("这是一个圆形进度条");

//设置标题图标

m_pDialog.setIcon(R.drawable.icon);

//设置进度条是否不明确

m_pDialog.setIndeterminate(false);

//是否可以按下退回键取消

m_pDialog.setCancelable(true);

//展示ProgressDialog 对象

new Thread() {

public void run() {

try {

while(m_count <= 100) {

// 由线程来控制进度

m_pDialog.setProgress(m_count++);

Thread.sleep(100);

}

m_pDialog.cancel();

} catch (Exception e) {

m_pDialog.cancel();

}

}

}.start();

m_pDialog.show();

}

};

程序运行效果图,首先点击 长形进度条按钮,可以看见

点击圆形进度条按钮,可以看见