Android对话框(普通对话框、单选对话框、多选对话框、进度条对话框)
程序员文章站
2022-05-16 19:53:58
...
一、普通对话框
// 通过builder 构建器来构造
AlertDialog.Builder builder = new Builder(this);
builder.setTitle("警告");
builder.setMessage("你好么 ");
builder.setPositiveButton("好", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
System.out.println("点击了好按钮");
}
});
builder.setNegativeButton("不好", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
System.out.println("点击了不好按钮 ");
}
});
// 最后一步 一定要记得 和Toast 一样 show出来
builder.show();
效果:
二、单选对话框
// 通过builder 构建器来构造
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) {
// [1]把选择的条目给取出来
String item = items[which];
Toast.makeText(getApplicationContext(), item, 1).show();
// [2]把对话框关闭
dialog.dismiss();
}
});
// 最后一步 一定要记得 和Toast 一样 show出来
builder.show();
效果
三、多选对话框
// 通过builder 构建器来构造
AlertDialog.Builder builder = new Builder(this);
builder.setTitle("请选择您喜欢吃的动物");
final String items[] = { "猫", "狗", "猪", "狮子", "老虎", "大象", "猴子" };
final boolean[] checkedItems = { true, false, false, false, false,
false, true };
builder.setMultiChoiceItems(items, checkedItems,
new OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which,
boolean isChecked) {
}
});
builder.setPositiveButton("确定", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 把选中的 条目的数据给我取出来
StringBuffer sb = new StringBuffer();
for (int i = 0; i < checkedItems.length; i++) {
// 判断一下 选中的
if (checkedItems[i]) {
String fruit = items[i];
sb.append(fruit + " ");
}
}
Toast.makeText(getApplicationContext(), sb.toString(), 1)
.show();
// 关闭对话框
dialog.dismiss();
}
});
// 最后一步 一定要记得 和Toast 一样 show出来
builder.show();
效果
四、进度条对话框
final ProgressDialog dialog = new ProgressDialog(this);
dialog.setTitle("正在玩命加载ing");
// 设置一下进度条的样式
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
// 最后一步一定要记得show 出来
dialog.show();
// 创建一个子线程
new Thread() {
public void run() {
// 设置进度条最大值
dialog.setMax(100);
// 设置当前进度
for (int i = 0; i <= 100; i++) {
dialog.setProgress(i);
// 睡眠一会
SystemClock.sleep(50);
}
// 关闭对话框
dialog.dismiss();
};
}.start();
效果
项目源码:https://download.csdn.net/my
下一篇: QT 标准对话框-QMessageBox
推荐阅读
-
Android使用CardView实现圆角对话框
-
Android自定义Dialog实现通用圆角对话框
-
浅析Android Service中实现弹出对话框的坑
-
Android实现底部对话框BottomDialog弹出实例代码
-
Android user版通过adb_enable开启adb 调试 不提示对话框的流程分析
-
Android中使用AlertDialog实现几种不同的对话框
-
Android中AlertDialog四种对话框的最科学编写用法(实例代码)
-
android开发教程之时间对话框核心代码
-
Android中创建一个透明的进度对话框实例
-
Android常用的AlertDialog对话框及自定义对话框