对话框
普通对话框
//普通对话框
public void a1(View view) {
//1.先创建构造者
AlertDialog.Builder builder = new AlertDialog.Builder(this);
//2.属性
builder.setIcon(R.drawable.ic_launcher_background);//图标
builder.setTitle("这是标题");//标题
builder.setMessage("这是提示信息");//提示信息
//设置确定按钮
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "点击了确定", Toast.LENGTH_SHORT).show();
}
});
//设置取消
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "点击了取消", Toast.LENGTH_SHORT).show();
}
});
//3.使用构造者创建对话框
AlertDialog dialog = builder.create();
//4.显示
dialog.show();
}
单选对话框
//单选对话框
public void a2(View view) {
//1.创建构造者
AlertDialog.Builder builder = new AlertDialog.Builder(this);
//2.属性
builder.setIcon(R.drawable.ic_launcher_background);//图标
builder.setTitle("你的性别是");//标题
//设置确定
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "确定", Toast.LENGTH_SHORT).show();
}
});
//设置取消
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "取消", Toast.LENGTH_SHORT).show();
}
});
//数组选项
final String[] items = {"男人","女人","人妖"};
//参数一 列表 参数二 默认选中下标 参数三 事件监听
builder.setSingleChoiceItems(items, 2, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "选中的是"+items[which], Toast.LENGTH_SHORT).show();
}
});
//3.使用构造者创建对话框
AlertDialog dialog = builder.create();
//4.显示
dialog.show();
}
多选对话框
//多选对话框
public void a3(View view) {
//1.创建构造者
AlertDialog.Builder builder = new AlertDialog.Builder(this);
final String[] strings = {"成果","大力","成狗"};//多选选项
final boolean[] booleans = {true,true,false};//默认是否选中
//属性
builder.setIcon(R.drawable.ic_launcher_background);//图标
builder.setTitle("我的女朋友");//标题
//设置确定
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
for (int i = 0; i< booleans.length; i++){
if (booleans[i]){
Toast.makeText(MainActivity.this, "女朋友是"+strings[i], Toast.LENGTH_SHORT).show();
}
}
}
});
//设置取消
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "不要了", Toast.LENGTH_SHORT).show();
}
});
//设置多选列表
builder.setMultiChoiceItems(strings, booleans, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
booleans[which] = isChecked;//设置选中
}
});
//3.使用构造者创建对话框
AlertDialog dialog = builder.create();
//4.显示
dialog.show();
}
自定义对话框
先自定义一个布局(zdy.xml)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<TextView
android:textSize="30sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="自定义"
android:layout_gravity="center"
/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher_foreground"
android:layout_gravity="center"
/>
</LinearLayout>
引用自定义布局的java代码
//自定义对话框
public void a4(View view) {
//1.获得视图
View view1 = LayoutInflater.from(this).inflate(R.layout.zdy,null);
//2.创建构造者
AlertDialog.Builder builder = new AlertDialog.Builder(this);
//3.使用视图
builder.setView(view1);
//4.使用构造者创建对话框
AlertDialog dialog = builder.create();
//5.显示
dialog.show();
进度条对话框
//进度条对话框
public void a5(View view) {
//1.实例化对象
final ProgressDialog dialog = new ProgressDialog(this);
//设置属性
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);//水平进度条
// dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);//转圈圈进度条
dialog.setMax(100);//最大值
dialog.setProgress(0);//当前值
dialog.setMessage("正在下载");
dialog.show();
//模拟定时器
final Timer timer = new Timer();
timer.schedule(new TimerTask() {
int n = 0;
@Override
public void run() {
if (n == 100){
dialog.dismiss();//消失
timer.cancel();
}
dialog.setProgress(n+=10);
}
},0,1000);
}
日期选择对话框
//日期选择对话框
public void a6(View view) {
Calendar calendar = Calendar.getInstance();//日历对象
new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
Toast.makeText(MainActivity.this, year+"--"+(month+1)+"--"+dayOfMonth, Toast.LENGTH_SHORT).show();
}
},calendar.get(Calendar.YEAR),calendar.get(Calendar.MONDAY),calendar.get(Calendar.DAY_OF_MONTH)).show();
时间选择对话框
//时间选择对话框
public void a7(View view) {
Calendar calendar = Calendar.getInstance();//日历对象
new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
Toast.makeText(MainActivity.this, hourOfDay+":"+minute, Toast.LENGTH_SHORT).show();
}
},calendar.get(Calendar.HOUR),calendar.get(Calendar.MINUTE),true).show();//ture表示24小时制
}