安卓专业高级一Day01

对话框

  • 普通对话框
  • 单选对话框
  • 多选对话框
  • 自定义对话框
  • 水平对话框
  • 日期对话框

普通对话框


//普通对话框
    private void initDatas() {
        msg.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                //创建构造者
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);

                //设置属性
                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();
                    }
                });

                //创建对话框
                AlertDialog dialog = builder.create();

                //显示
                dialog.show();
            }
        });
    }

单选对话框

//单选对话框
    private void initDatas2() {
        msg2.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("老歌手");//标题

                final String[] s = {"1","2","3"};

                builder.setSingleChoiceItems(s, 0, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity.this, "你选中了:"+s[which], Toast.LENGTH_SHORT).show();
                    }
                });

                //确定
                builder.setPositiveButton("ok", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity.this, "你点击了ok", Toast.LENGTH_SHORT).show();
                    }
                });

                //创建对话框
                AlertDialog dialog = builder.create();

                //显示
                dialog.show();
            }
        });
    }lder.setPositiveButton("ok", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity.this, "你点击了ok", Toast.LENGTH_SHORT).show();
                    }
                });

                //创建对话框
                AlertDialog dialog = builder.create();

                //显示
                dialog.show();
            }
        });

多选对话框

//多选对话框
    private void initDatas3() {
        msg3.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("老歌手");//标题

                final String[] s = {"1","2","3"};
                final boolean[] b ={true,false,true};

                builder.setMultiChoiceItems(s, b, new DialogInterface.OnMultiChoiceClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                        b[which] = isChecked;
                    }
                });

                builder.setPositiveButton("ok", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                        for (int i = 0; i < b.length; i++) {

                             Toast.makeText(MainActivity.this, "选择了:"+s[i], Toast.LENGTH_SHORT).show();

                        }
                    }
                });

                //创建对话框
                AlertDialog dialog = builder.create();

                //显示
                dialog.show();

            }
        });
    }

自定义对话框

//自定义对话框
    private void initDatas4() {
        
        View view = LayoutInflater.from(this).inflate(R.layout.customer_dialog, null);
        
        ImageView imageView = view.findViewById(R.id.iv);
        
        imageView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this, "ok", Toast.LENGTH_SHORT).show();
            }
        });

        //创建构造者
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        
        //设置自定义布局
        builder.setView(view);

        //创建对话框
        AlertDialog dialog = builder.create();
        
        //显示
        dialog.show();

    }

水平对话框

//水平对话框
    private void initDatas5() {
        //实例化对象
        final ProgressDialog dialog = new ProgressDialog(this);
        //设置属性
        dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);//设置水平样式
        dialog.setMax(100);//设置最大值
        dialog.setMessage("正在加载");//提示信息

        //显示
        dialog.show();

        //定时器
        final Timer timer = new Timer();

        timer.schedule(new TimerTask() {

            int count = 0;

            @Override
            public void run() {
                count +=10;
                dialog.setProgress(count);
                if (count == 100){
                    timer.cancel();
                    dialog.dismiss();
                }
            }
        },0,1000);

    }

日期对话框

//日期对话框
    private void initDatas6() {
        //日历对象
        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.MONTH),calendar.get(Calendar.DAY_OF_MONTH)).show();
    }

你可能感兴趣的:(安卓专业高级一Day01)