对话框简单实现

第一天


#第一天
#对话框
#普通对话框

//普通按钮的点击事件
text1.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        //第一步创建创造者
        AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
        //第二步设置属性
        builder.setIcon(R.mipmap.ic_launcher);//图片 图标
        builder.setTitle("提示信息");//标题
        builder.setMessage("你要删除嘛?");//消息
        //第三步设置确定取消按钮
        //设置确定按钮
        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override            //第一个参数是信息,第二个参数是new Dialog
            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();
            }
        });
        //第四步使用建造者 创建对话框然后显示
        AlertDialog alertDialog = builder.create();//创建对话框
        alertDialog.show();//显示
    }
});

#单选对话框

      //单选按钮
        text22.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //创建 建造者
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                //设置属性  也包括确定和取消
//                builder.setIcon(R.mipmap.ic_launcher);
//                builder.setMessage("请选择:");
                //设置确定取消  参数1信息确定或者取消没有顺序    参数2  事件监听
                builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity.this, "111", Toast.LENGTH_SHORT).show();
                    }
                });
                builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity.this, "222", 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 which) { // 这个int类型就是下标
                        Toast.makeText(MainActivity.this, "你选中了"+which, Toast.LENGTH_SHORT).show();
                    }
                });
                //创建对话框
                AlertDialog alertDialog = builder.create();
                //显示
                alertDialog.show();
            }
        });

#多选对话框

//多选按钮
text33.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        //创建数组
        final String[] strings= new String[]{"张三","李四","王五","马六"};
        //创建选中状态
        final boolean[] glags=new boolean[]{true,true,false,false};
        //创建  建造者
        AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                for (int i=0;i<glags.length;i++){
                    if(glags[i]){//本身对应本身的下标所以是本身 如果为true就输出就完了
                        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, "999", Toast.LENGTH_SHORT).show();
            }
        });
        //设置多选列表
        builder.setMultiChoiceItems(strings, glags, new DialogInterface.OnMultiChoiceClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                //设置状态 选中哪个,哪个就为true
                glags[which] = isChecked;
            }
        });
        //创建对话框
        AlertDialog alertDialog = builder.create();
        //显示对话框
        alertDialog.show();
    }
});

#进度条对话框

//进度条的对话框设置
text55.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        //创建一个 进度条建造者
        final ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);
        //设置进度条
        progressDialog.setMessage("进度条:");//设置信息
        progressDialog.setMax(100);//设置最大值
        progressDialog.setProgress(20);//当前进度
        progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
        //显示
        progressDialog.show();
        //定时器
        final Timer timer = new Timer();
        //安排任务
        timer.schedule(new TimerTask() {
            int anInt = 0;
            @Override
            public void run() {
                anInt += 10;
                progressDialog.setProgress(anInt);
                if(anInt >= 100){
                    timer.cancel();//关闭定时器
                    progressDialog.dismiss();//退出对话框
                }
            }
        }, 0,1000);

    }
});

#日期对话框

//日期对话框
text66.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        //创建一个时间
        Calendar calendar = Calendar.getInstance(); //可以直接用calender获取当前系统时间

      new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener() {
          @Override
          public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
              Toast.makeText(MainActivity.this, "时间是:年" +year+"月"+month+"日"+dayOfMonth, Toast.LENGTH_SHORT).show();
          }
      }, calendar.get(calendar.YEAR), calendar.get(calendar.MONTH), calendar.get(calendar.DAY_OF_MONTH)).show();//必须加show方法
    }
});

#时间对话框

//时间对话框
text77.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        //日历对象
        Calendar calendar = Calendar.getInstance();

        new TimePickerDialog(MainActivity.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();
    }
});

#自定义对话框

//自定义的对话框
text44.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        //创建自定义 建造者
        AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
        //设置内容
        builder.setIcon(R.mipmap.ic_launcher);//图片
        builder.setTitle("自定义的图片");//标题信息
        //视图解析器
        LayoutInflater inflater = LayoutInflater.from(MainActivity.this);
        View view = inflater.inflate(R.layout.dialog_layout, null);
        //将自己定义的布局设置进去
        builder.setView(view);

        //确定
        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();
            }
        });
        //创建对话框
        AlertDialog dialog = builder.create();
        //显示
        dialog.show();
    }
});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当需要在Android应用程序中显示简单对话框时,可以使用AlertDialog类来实现。以下是一个简单的示例代码,演示如何在Android Studio中实现简单对话框: ```java // 导入必要的类 import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity { private Button showDialogButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); showDialogButton = findViewById(R.id.show_dialog_button); showDialogButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 创建AlertDialog.Builder对象 AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setTitle("简单对话框"); // 设置对话框标题 builder.setMessage("这是一个简单对话框。"); // 设置对话框消息 // 设置确定按钮及其点击事件 builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // 点击确定按钮后的操作 dialog.dismiss(); // 关闭对话框 } }); // 创建并显示对话框 AlertDialog dialog = builder.create(); dialog.show(); } }); } } ``` 在上述代码中,我们首先导入了AlertDialog和DialogInterface类。然后,在MainActivity类中,我们创建了一个按钮showDialogButton,并设置了点击事件。在点击事件中,我们创建了一个AlertDialog.Builder对象,并设置了对话框的标题和消息。接下来,我们设置了确定按钮的点击事件,当用户点击确定按钮时,对话框会被关闭。最后,我们创建并显示了对话框
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值