AlertDialog(提示框)
获取提示框里的内部类Builder
AlertDialog.Builder = new Builder();
// 标题方法
builder.setTitle();
// 消息
builder.setMessage();
设置提示框方法
// 点击确认 方法 builder.setPositiveButton(参数1:按键显示内容,参数2:重写new
DialogInterface.OnClickListener());
builder.setPositiveButton("好好学习", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterf2ace dialog, int which) {
Toast.makeText(AlertDialogs.this, "奋发图强", Toast.LENGTH_SHORT).show();
}
});
// 点击取消 方法 builder.setNegativeButton(参数1:按键显示内容,参数2:重写new
DialogInterface.OnClickListener());
builder.setNegativeButton("不想学习", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(AlertDialogs.this, "从此堕落", Toast.LENGTH_SHORT).show();
}
});
设置单选框方法
// 选择单选 方法 builder.setSingleChoiceItems(参数1:被选内容数组,参数2:是否开始就被选中,-1代表不选中,数组索引代表选中对应内容,参数3:监听事件);
final String[] sex = {"男", "女", "中性"};
builder.setSingleChoiceItems(sex, -1, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// which点击时所选择内容索引
Toast.makeText(AlertDialogs.this, "性别:" + sex[which], Toast.LENGTH_SHORT).show();
}
});
设置多选框方法
// 选择多选 方法 builder.setMultiChoiceItems(参数1:被选内容数组,参数2:Boolean[true/false]数组判断是否选中,参数3:重写new ;
DialogInterface.OnMultiChoiceClickListener())
final String[] hobby = {"篮球", "足球", "游泳", "电脑", "跳舞"};
final boolean[] hobbyBoo = {true, false, false, true, false};//true 代表一点开就已经被选中
builder.setMultiChoiceItems(hobby, hobbyBoo, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
Toast.makeText(THIS, hobby[which] + isChecked, Toast.LENGTH_SHORT).show();
hobbyBoo[which] = isChecked; // 变更boolean[索引]里true/false
}
});
ProgressDialog(进度对话框)
设置进度对话框
// 进度条类ProgressDialog
final ProgressDialog dialog = new ProgressDialog(THIS);
// 标题
dialog.setTitle("进度显示");
// 内容
dialog.setMessage("玩命加载中...");
// 执行显示
dialog.show();
// 不能在主线程运行,需开起子线程,进行睡眠加载
new Thread() {
@Override
public void run() {
super.run();
try {
// 睡眠加载
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
// 加载完后提示框消失解散
dialog.dismiss();
}
}.start()
设置进度条对话框
final ProgressDialog dialog = new ProgressDialog(THIS);
// 设置进度条类型
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
// 给进度条设置最大值
dialog.setMax(100);
dialog.setTitle("进度显示");
dialog.setMessage("玩命操蛋加载中...");
dialog.show();
new Thread() {
@Override
public void run() {
super.run();
// 进展程度
for (int i = 0; i <= 100; i++) {
try {
// 设置进展速度
Thread.sleep(800);
} catch (InterruptedException e) {
e.printStackTrace();
}
// 设置进度值
dialog.setProgress(i);
}
// 进度到达最大值,消失解散
dialog.dismiss();
}
}.start();