常见对话框

对话框:

单选对话框

多选对话框

进度对话框

对话框的初始化

AlertDialog.Builder builder = new Builder(当前Activity的上下文);

对话框设置属性

builder.setTitle(title);-->设置标题

builder.setMessage(msg);-->设置提醒信息

设置对话框按钮

builder.setPositiveButton(按钮文字,new DialogInterface.OnClickListener());-->最右边的按钮

builder.setNegativeButton(按钮文字,new DialogInterface.OnClickListener());-->最左边的按钮

builder.setNeutralButton(按钮文字,new DialogInterface.OnClickListener());-->中间的按钮

对话框显示

builder.show();

对话框样式

setSingleChoiceItems()-->单选

setMultiChoiceItems()-->多选

ProgressDialog -->进度条

确定取消对话框

代码

//builder可以理解成一个构造器,构造对话框所需要的一些数据,最后由dialog来进行显示

AlertDialog.Builder builder = new Builder(this);

builder.setTitle("警告:");

builder.setMessage("若练此功,必先自宫,是否继续?");

builder.setPositiveButton("确定自宫", new OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

Toast.makeText(MainActivity.this, "....", 0).show();

}

});

builder.setNegativeButton("想想再说", new OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

Toast.makeText(MainActivity.this, "如不自宫,一定不成功", 0).show();

}

});

AlertDialog dialog = builder.create();

dialog.setCancelable(false);//设置其他空白区域点击是否可以关闭我们的dialog

dialog.show();//注意一定要调用show否则显示不了对话框

单选对话框:

代码如下

AlertDialog.Builder builder = new Builder(this);

builder.setTitle("请选择您的性别:");

final String[] items = { "", "", "中性" };

/**第一个参数为显示的条目数组,第二个参数为默认选中的条目,-1即不选中任何条目*/

builder.setSingleChoiceItems(items, -1, new OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

Toast.makeText(MainActivity.this, "您的性别:" + items[which], 0).show();

}

});

//点击事件如果设置为null则默认点击关闭对话框

builder.setNegativeButton("取消选择", null);

builder.show();

多选对话框:

代码如下

AlertDialog.Builder builder = new Builder(this);

builder.setTitle("请选择您爱吃的水果");

final String[] items = new String[] { "黄瓜", "苹果", "香蕉", "菠萝菠萝蜜" };

//条目的状态数组  true为选中 false为不选中

final boolean[] checkedItems = new boolean[] { true, true, false, false };

builder.setMultiChoiceItems(items, checkedItems,

new OnMultiChoiceClickListener() {

@Override

public void onClick(DialogInterface dialog, int which,

boolean isChecked) {

Toast.makeText(MainActivity.this,

items[which] + isChecked, 0).show();

checkedItems[which] = isChecked;

}

});

builder.setNegativeButton("取消选择", null);

builder.show();正在加载对话框

3秒后加载进入

final ProgressDialog pd = new ProgressDialog(this);

pd.setTitle("提醒");

pd.setMessage("正在加载数据...请稍后");

pd.show();

new Thread() {

public void run() {

try {

Thread.sleep(3000);

} catch (InterruptedException e) {

e.printStackTrace();

}

pd.dismiss();//关闭对话框

};

}.start();

进度对话框:

代码如下:

final ProgressDialog pd = new ProgressDialog(this);

//进度条的风格为水平进度条

pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

pd.setMax(100);//进度条的最大值

pd.setTitle("提醒");

pd.setMessage("正在加载数据...请稍后");

pd.show();

new Thread() {

public void run() {

for (int i = 0; i <= 100; i++) {

try {

Thread.sleep(300);

} catch (InterruptedException e) {

e.printStackTrace();

}

pd.setProgress(i);//设置当前进度值

}

pd.dismiss();

};

}.start();


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值