Dialog及自定义对话框

本文展示了Android应用程序中使用AlertDialog构建各种对话框的实例,包括普通对话框、单选对话框、多选对话框、日历日期选择器和时间选择器。通过这些例子,开发者可以学习如何在应用中实现用户交互功能。
摘要由CSDN通过智能技术生成
//普通Diagonal
//new AleDiagonal
AlertDialog.Builder builder=new AlertDialog.Builder(this);
//构建属性
builder.setIcon(R.drawable.ic_launcher_foreground);//图标
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();
    }
});
//创建 显示
builder.create().show();
//单选对话框
AlertDialog.Builder builder=new AlertDialog.Builder(this);
//构建属性
builder.setIcon(R.drawable.ic_launcher_foreground);//图标
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[] strings=new String[]{"梁红玉","花木兰","穆桂英","樊梨花"};
//1.数组2.下标3.监听事件
builder.setSingleChoiceItems(strings, 2, new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int i) {
        Toast.makeText(MainActivity.this, "选择的英雄是"+strings[i], Toast.LENGTH_SHORT).show();
    }
});
//创建 显示
builder.create().show();
//多选对话框
AlertDialog.Builder builder=new AlertDialog.Builder(this);
//构建属性
builder.setIcon(R.drawable.ic_launcher_foreground);//图标
//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[] strings=new String[]{"西施","杨贵妃","王昭君","貂蝉"};
boolean[] booleans=new boolean[]{true,true,false,false};
//1.数组2.下标3.监听事件
builder.setMultiChoiceItems(strings, booleans, new DialogInterface.OnMultiChoiceClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which, boolean isChecked) {
    }
});
//创建 显示
builder.create().show();
//日历对象  日历对话框
Calendar calendar=Calendar.getInstance();
//1.上下文2.监听事件3.默认的年4.月5.日
DatePickerDialog datePickerDialog=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.MONTH));
//显示
datePickerDialog.show();
//日历对象  时间对话框
Calendar calendar=Calendar.getInstance();
//1.上下文2.监听事件3.默认的时4.分5.是否24小时
new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
    @Override
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
        Toast.makeText(MainActivity.this, hourOfDay+":"+(minute+1), Toast.LENGTH_SHORT).show();
    }
},calendar.get(Calendar.HOUR),calendar.get(Calendar.MINUTE),true).show();
//1.new 对象   倒计时进度条
final ProgressDialog progressDialog=new ProgressDialog(this);
//2.设置属性
progressDialog.setMessage("正在下载");
progressDialog.setMax(100);
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
//3.显示
progressDialog.show();
//设置计时器
final Timer timer=new Timer();
timer.schedule(new TimerTask() {
    int index=0;
    @Override
    public void run() {
        //先显示,后设置进度
        if (index==100){
            //关闭计时器
            timer.cancel();
            //关闭对话框
            progressDialog.dismiss();
        }
        progressDialog.setProgress(index+=20);
    }
},0,1000);
//自定义进度条
AlertDialog.Builder builder=new AlertDialog.Builder(this);
//加载布局
View item= LayoutInflater.from(this).inflate(R.layout.item,null);
//显示布局
builder.setView(item);
//创建
final AlertDialog alertDialog=builder.create();
//显示
alertDialog.show();
//点击title
item.findViewById(R.id.tv).setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Toast.makeText(MainActivity.this,"点击了标题", Toast.LENGTH_SHORT).show();
        //关闭对话框
        alertDialog.dismiss();
    }
});
item.findViewById(R.id.im).setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Toast.makeText(MainActivity.this, "点击了图片", Toast.LENGTH_SHORT).show();
        //关闭对话框
        alertDialog.dismiss();
    }
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值