android 常见的对话框 普通对话框+单选对话框+多选对话框+进度条对话框
对话框是项目开发中比较常见的控件,基本每个APP都会用到对话框,相信大家对对话框也能轻松的使用,我的项目中也用到了对话框,个人觉得还是记录下来比较好,方便以后忘记的时候查看
普通对话框:
AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setTitle("标题")
.setMessage("内容")
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
Toast.makeText(MainActivity.this, "点击了确定按钮", Toast.LENGTH_SHORT).show();
}
}).setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
Toast.makeText(MainActivity.this, "点击了取消按钮", Toast.LENGTH_SHORT).show();
}
});
builder.show();
单选对话框:
//通过builder 构建器来构造
AlertDialog.Builder builder=new AlertDialog.Builder(this);
final String items[] = {"语文","数学","英语","生物","历史","地理"};
builder.setTitle("请选择你的学习的课程")
//-1代表没有条目被选中
.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//[1]把选择的条目给取出来
String item = items[which];
Toast.makeText(getApplicationContext(), item, Toast.LENGTH_LONG).show();
//[2]把对话框关闭
dialog.dismiss();
}
});
//最后一步 一定要记得 和Toast 一样 show出来
builder.show();
多选对话框:
//通过builder构建出来
AlertDialog.Builder builder=new AlertDialog.Builder(this);
//对话框标题
builder.setTitle("请选择你爱吃的水果");
//设置多选对话框的item
final String items[] = {"香蕉","黄瓜","哈密瓜","西瓜","梨","柚子","榴莲"};
//设置默认的选中状态
final boolean[] checkedItems={true,false,false,false,false,false,true};
builder.setMultiChoiceItems(items, checkedItems, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
//dialog.dismiss();
}
});
builder.setPositiveButton("确定", new DialogInterface.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(), Toast.LENGTH_LONG).show();
//关闭对话框
dialog.dismiss();
}
});
//最后一步 一定要记得 和Toast 一样 show出来
builder.show();
进度条对话框 :
final ProgressDialog dialog=new ProgressDialog(this);
dialog.setTitle("正在夺命加载中");
//设置一下进度条的样式
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();