您的位置:首页 > 其它

关于安卓开发实现进度条对话框

2013-03-29 12:35 357 查看
进度条对话框(ProgressDialog)分为圆形和横向两种类型。

方法:

onCreatDialog(int id);创建一个对话框,只有在第一次创建该ID标识的Dialog时执行

onCreatDialog(int id,Bundle args);同上,带参数

onPrepareDialog(int id,Dialog dialog);在onCreateDialog之后,每次在对话框被显示之前都执行

onPrepareDialog(int id,Dialog dialog,Bundle args);同上,带参数

showDialog(int id);显示对话框

showDialog(int id,Bundle args);显示对话框,带参数

dismissDialog(int id);隐藏对话框,不从Activity中移除,保留状态

在layout 中添加两个按钮。第一个id 设为click_1 ,显示圆形进度条 第二个id设为click_2 ,显示横向进度条

package lianxi;

import com.example.jichu_lianxi.R;

import android.accounts.OnAccountsUpdateListener;
import android.app.Activity;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class KeyOnclick extends Activity{
private Button click_1;
private Button click_2;
private ProgressDialog mpdialog;
private int flag = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.key);

click_1 = (Button) findViewById(R.id.click_1);
click_2 = (Button) findViewById(R.id.click_2);

click_1.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
mpdialog = new ProgressDialog(KeyOnclick.this);
//设置圆形进度条风格
mpdialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
mpdialog.setTitle("提示");                       //设置标题
//mpdialog.setIcon(R.drawable.icon);             //设置图标
mpdialog.setMessage("这是圆形进度条");               //设置内容
mpdialog.setIndeterminate(false);              //设置进度条是否可以不明确
mpdialog.setCancelable(true);                  //设置进度条是否可以取消
mpdialog.setButton("确定", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int whic) {
// TODO Auto-generated method stub
dialog.cancel();                    //取消
}
});
mpdialog.show();                            //显示进度条
}
});

click_2.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
flag = 0;
mpdialog = new ProgressDialog(KeyOnclick.this);
//设置横向进度条风格
mpdialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
mpdialog.setTitle("提示");                       //设置标题
//mpdialog.setIcon(R.drawable.icon);             //设置图标
mpdialog.setMessage("这是横向进度条");               //设置内容
mpdialog.setMax(100);
mpdialog.setProgress(0);
mpdialog.setSecondaryProgress(50);
mpdialog.setIndeterminate(false);              //设置进度条是否可以不明确
mpdialog.setCancelable(true);                  //设置进度条是否可以取消
mpdialog.setButton("确定", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int whic) {
// TODO Auto-generated method stub
dialog.cancel();                    //取消
}
});
new Thread(){
public void run() {
try{
while (flag<=100)
{
mpdialog.setProgress(flag++);
Thread.sleep(100);
}
mpdialog.cancel();
}
catch(Exception e)
{
mpdialog.cancel();

}
}
}.start();
mpdialog.show();                            //显示进度条
}
});
}
}


代码



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: