美文网首页
Android 原生Dialog的基本使用详解

Android 原生Dialog的基本使用详解

作者: DT慕枫 | 来源:发表于2020-07-07 23:49 被阅读0次

    前言

    项目中为了方便交互,及用户体验等方面的原因,不少地方会用到Dialog,网上有很多非常优秀的自定义的Dialog工具,此处,我们不讲写那么写,我们写最基础的使用方法。

    目录

    • 简单提示框
    • 单选提示框
    • 复选提示框
    • 列表显示提示框
    • 进度条加载
    • 加载WebView网页
    • 自定义layout布局

    demo存储位置记录:D:\android studio work space\work09\PrimordialDialog

    Dialog常用的API

    • AlertDialog.Builder :Dialog对象
    • create():创建Dialog对象
    • show():显示提示框
    • setTitle():设置标题
    • setMessage():设置内容
    • setPositiveButton():设置正向点击按钮
    • setNegativeButton():设置反向点击按钮
    • dismiss():移除Dialog对象
    • setSingleChoiceltems():设置单选列表
    • setMultiChoiceItems():设置复选列表
    • setCancelable():设置点击提示框外部,是否消失
    • setItems():设置item列表数据和监听事件

    简单提示框

    最简单的Dialog弹框,其实就是一个“提示标题”、“提示内容”、“结束/确定”、“取消”几个元素;同时可以设置builder.setCancelable(false/true)点击Dialog之外处,是否关闭弹框,均可设置。效果图如下:


    简单提示框效果图
    public void showSimpleDialog(final Activity activity) {
            final AlertDialog.Builder builder = new AlertDialog.Builder(activity);
            builder.setTitle("友情提示");
            builder.setMessage("此处填写提示内容?");
            builder.setCancelable(false);
            builder.setPositiveButton("结束", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
    
                }
            });
            builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
    
                }
            });
            builder.create().show();
        }
    

    单选提示框

    遇到单选的时候,有时候我们就想到了单向选择框,原生的Dialog中也提供了这样的方法,那么接下来,我们就简单的用示例代码展示一下,效果图如下:


    单选提示框效果图
     public void showSingleDialog(final Activity activity,String[] sex) {
            final AlertDialog.Builder builder = new AlertDialog.Builder(activity);
            builder.setTitle("请选择性别");
            builder.setSingleChoiceItems(sex, 0, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
    
                }
            }).setPositiveButton("确定", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
    
                }
            }).setNegativeButton("取消", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
    
                }
            }).show();
        }
    

    复选提示框

    那么有单选,当然就有复选框了,为了满足用户的需求,Dialog的实现,效果图如下:


    复选提示框效果图
    /**
         * 复选提示框
         * @param activity
         * @param content
         */
        public void showCheckDialog(final Activity activity,String[] content) {
            final AlertDialog.Builder builder = new AlertDialog.Builder(activity);
            builder.setTitle("复选提示框");
            builder.setMultiChoiceItems(content, null, new DialogInterface.OnMultiChoiceClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i, boolean b) {
    
                }
            }).setPositiveButton("确定", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
    
                }
            }).setNegativeButton("取消", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
    
                }
            }).show();
        }
    

    列表提示框

    此处我们使用的是原生的Dialog列表样式,效果图如下:


    列表提示框效果图
    /**
         * 展示item列表
         * @param activity
         * @param item
         */
        public void showListDialog(final Activity activity,String[] item){
            AlertDialog.Builder listDialog = new AlertDialog.Builder(activity);
            listDialog.setTitle("请选择你喜欢的车型");
            listDialog.setCancelable(false);
            listDialog.setItems(item, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
    
                }
            }).setPositiveButton("确定", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
    
                }
            }).setNegativeButton("取消", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
    
                }
            }).show();
        }
    

    相关文章

      网友评论

          本文标题:Android 原生Dialog的基本使用详解

          本文链接:https://www.haomeiwen.com/subject/hlfxcktx.html