普通对话框 | |||
单选对话框 | |||
多选对话框 | |||
时间对话框 | |||
日期对话框 | |||
进度对话框 | |||
自定义内容对话框 | |||
自定义对话框 | |||
1.普通对话框
public void one1(View view) {
//创建对话框
AlertDialog.Builder builder=new AlertDialog.Builder(this);
//设置图标
builder.setIcon(R.mipmap.ic_launcher);
//设置标题
builder.setTitle("我是标题");
//设置内容
builder.setMessage("你干什么呢");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(MainActivity.this, "你点击了确认", Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(MainActivity.this, "你点击了取消", Toast.LENGTH_SHORT).show();
}
});
//点击空白处是否取消对话框
builder.setCancelable(true);
//启动对话框
builder.create();
//展示对话框
builder.show();
}
效果:
2.单选对话框
public void one2(View view) {
//创建对话框
AlertDialog.Builder builder = new AlertDialog.Builder(this);
//设置图标
builder.setIcon(R.mipmap.ic_launcher);
//设置标题
builder.setTitle("单选对话框");
//设置选择内容
final String[] strings=new String[]{"男","女"};
//单选点击事件,获取
builder.setSingleChoiceItems(strings, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(MainActivity.this, strings[i], Toast.LENGTH_SHORT).show();
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(MainActivity.this, "你点击了确认", Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(MainActivity.this, "你点击了取消", Toast.LENGTH_SHORT).show();
}
});
//启动对话框
AlertDialog alertDialog = builder.create();
//展示对话框
alertDialog.show();
}
效果 :
3.多选对话框
public void one3(View view) {
//创建对话框对象
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setIcon(R.mipmap.ic_launcher);//设置图标
builder.setTitle("多选对话框");//设置标题
//多选内容
final String[] strings=new String[]{"张三","李四","王二","麻子"};
//状态数组
final boolean[] booleans=new boolean[]{true,false,false,false};
builder.setMultiChoiceItems(strings, booleans, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i, boolean b) {
booleans[i]=b;
Toast.makeText(MainActivity.this, strings[i]+""+b, Toast.LENGTH_SHORT).show();
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(MainActivity.this, "你点击了确认", Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(MainActivity.this, "你点击了取消", Toast.LENGTH_SHORT).show();
}
});
builder.create().show();
}
效果:
4.时间对话框
public void one4(View view) {
//创建日历对象
Calendar calendar=Calendar.getInstance();
//获取当前时
int hour = calendar.get(Calendar.HOUR);
//获取当前分钟
int minute = calendar.get(Calendar.MINUTE);
//创建时间对话框
TimePickerDialog timePickerDialog = new TimePickerDialog(this,
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int i, int i1) {
Toast.makeText(MainActivity.this, i+"点"+i1+"分", Toast.LENGTH_SHORT).show();
}
},hour,minute,true);
timePickerDialog.show();//启动并展示对话框
}
效果:
5.日期对话框
public void one5(View view) {
//创建日历对象
Calendar calendar=Calendar.getInstance();
//获取年份
int year = calendar.get(Calendar.YEAR);
//获取月份
int month = calendar.get(Calendar.MONTH);
//获取日
int day = calendar.get(Calendar.DAY_OF_MONTH);
//创建日期对话框
DatePickerDialog datePickerDialog = new DatePickerDialog(this,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
Toast.makeText(MainActivity.this, i+"年"+(i1+1)+"月"+i2+"日", Toast.LENGTH_SHORT).show();
}
},year,month,day);
datePickerDialog.show();//启动并打开对话框
}
效果:
6.进度对话框
public void one7(View view) {
final ProgressDialog progressDialog = new ProgressDialog(this);
//文件的大小
progressDialog.setMax(100);
progressDialog.setProgress(20);
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setMessage("正在下载");
//定时器
final Timer timer=new Timer();
timer.schedule(new TimerTask() {
int progress=0;
@Override
public void run() {
if (progress>=100){
timer.cancel();//取消定时器
runOnUiThread(new Runnable() {
@Override
public void run() {
progressDialog.hide();//关闭对话框
}
});
}
progress+=10;
progressDialog.setProgress(progress);
}
},0,1000);//每隔一秒执行一次
//启动对话框
progressDialog.show();
}
效果:
7.自定义 内容对话框
public void one8(View view) {
//创建一个对话框
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setIcon(R.mipmap.ic_launcher);//设置图标
builder.setTitle("自定内容对话框");//设置标题
//布局加载器
View inflate = LayoutInflater.from(this).inflate(R.layout.layout_buone, null);
builder.setView(inflate);
builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(MainActivity.this, "ok", Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(MainActivity.this, "no", Toast.LENGTH_SHORT).show();
}
});
//启动对话框
builder.create().show();
}
效果: