安卓 专高一 day01 对话框

对话框

普通对话框

//普通对话框
    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小时制
    }
发布了1 篇原创文章 · 获赞 1 · 访问量 109

猜你喜欢

转载自blog.csdn.net/zxsenqiu/article/details/104414879
今日推荐