android 进度框内容,Android开发之ProgressDialog进度对话框用法示例

本文实例讲述了Android开发之ProgressDialog进度对话框用法。分享给大家供大家参考,具体如下:

使用方法:

如果只是普通进度对话框

直接调用ProgressDialog静态方法 show() 即可

创建ProgressDialog

调用方法进行具体设置

setIndeterminate(false);

设置进度条是否显示进度

setMax(MAX_PROGRESS);

设置进度条的最大值

setMessage("...");

设置对话框执行内容

setProgressStyle(ProgressDialog.STYLE_HORIZONTAL)

设置对话框进度条风格

setProgress()

设置 进度条内的进度值(当前)

效果:

496a53553e0d5bd902275d03443ad955.gif

代码实现:

主要是两种类型

1.带耗时操作  showIndeterminate

2.不带耗时操作 showProgress

具体实现:

public class MainActivity extends Activity {

final static int MAX_PROGRESS = 100;

//虚拟 填充长度为100的数组

private int[] data = new int[50];

//记录进度对话框完成百分比

int progressStatus = 0;

int hasDta = 0;

ProgressDialog progressDialog01,progressDialog02;

private Button buttonDate;

private Button buttonTime;

//创建一个负责更新进度的Handler

Handler mHandler = new Handler(){

@Override

public void handleMessage(Message msg) {

//表明消息是本程序发送的

if (msg.what == 0x111){

progressDialog02.setProgress(progressStatus);

}

}

};

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

buttonDate = (Button) findViewById(R.id.dataBn);

buttonTime = (Button) findViewById(R.id.timeBn);

iniClick();//Binding the listeners for you program

}

public void showSpinner(View source){

//用静态方法显示环形进度条

ProgressDialog.show(this,"任务执行中","热内执行中 请等待...",false,true);

}

public void showIndeterminate(View source){

progressDialog01 = new ProgressDialog(MainActivity.this);

//设置对话框标题

progressDialog01.setTitle("任务正在执行中");

//设置对话框执行内容

progressDialog01.setMessage("任务正在执行中敬请等待~~~");

//设置对话框“取消” 按钮关闭

progressDialog01.setCancelable(true);

//设置对话框进度条风格

progressDialog01.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

//设置进度条是否显示进度

progressDialog01.setIndeterminate(true);

progressDialog01.show();

}

public void showProgress(View source){

//将进度条完成重设为0

progressStatus = 0;

//重新开始填充数组

hasDta = 0;

progressDialog02 = new ProgressDialog(MainActivity.this);

progressDialog02.setMax(MAX_PROGRESS);

//设置对话框标题

progressDialog02.setTitle("任务正在执行中");

//设置对话框执行内容

progressDialog02.setMessage("任务正在执行中敬请等待~~~");

//设置对话框“取消” 按钮关闭

progressDialog02.setCancelable(false);

//设置对话框进度条风格

progressDialog02.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

//设置进度条是否显示进度

progressDialog02.setIndeterminate(false);

progressDialog02.show();

new Thread(){//模拟耗时操作

@Override

public void run() {

while (progressStatus < MAX_PROGRESS){

//bar1获取完成工作的百分比

progressStatus += (int) (Math.random()*15);

try{

Thread.sleep(1000);

}catch (InterruptedException e){

e.printStackTrace();

}

//更新ProgressBar

mHandler.sendEmptyMessage(0x111);

}

//任务完成进度条关闭

progressDialog02.dismiss();

}

}.start();

}

public void iniClick(){

//set listener for your Date button

buttonDate.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

showIndeterminate(MainActivity.this.getWindow().getDecorView());

}

});

//set listener for your Time button

buttonTime.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

showProgress(MainActivity.this.getWindow().getDecorView());

}

});

}

}

以下是布局文件:

android:id="@+id/idtatabHost"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="horizontal"

android:layout_weight="1">

android:id="@+id/dataBn"

android:text="一般进度条"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="wrap_content" />

android:id="@+id/timeBn"

android:text="带耗时进度条"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="wrap_content" />

希望本文所述对大家Android程序设计有所帮助。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值