几种常见 Dialog,直接拿去用!懒人必收

9,545 阅读2分钟

前言

项目中经常使用到的几种Dialog,所以干脆封装起来了,方便以后使用,顺便分享给大家,话不多说,直接看效果。

  • 样式一

NormalSelectionDialog

使用如下代码:

     NormalSelectionDialog dialog1 = new NormalSelectionDialog.Builder(this)
                .setlTitleVisible(true)   //设置是否显示标题
                .setTitleHeight(65)   //设置标题高度
                .setTitleText("please select")  //设置标题提示文本
                .setTitleTextSize(14) //设置标题字体大小 sp
                .setTitleTextColor(R.color.colorPrimary) //设置标题文本颜色
                .setItemHeight(40)  //设置item的高度 
               .setItemWidth(0.9f)  //屏幕宽度*0.9
                .setItemTextColor(R.color.colorPrimaryDark)  //设置item字体颜色
                .setItemTextSize(14)  //设置item字体大小
                .setCancleButtonText("Cancle")  //设置最底部“取消”按钮文本
                .setOnItemListener(new DialogOnItemClickListener() {  //监听item点击事件
                         @Override
                         public void onItemClick(Button button, int position) {
//                                dialog1.dismiss();
                                Toast.makeText(MainActivity.this, s.get(position), Toast.LENGTH_SHORT).show();

                         }
                })
                .setCanceledOnTouchOutside(true)  //设置是否可点击其他地方取消dialog
                .build();
       ArrayList<String> s = new ArrayList<>();
        s.add("Weavey0");
        s.add("Weavey1");
        s.add("Weavey2");
        s.add("Weavey3");
        dialog1.setDataList(s);
  • 样式二

NormalAlertDialog


使用如下代码:

NormalAlertDialog  dialog2 = new NormalAlertDialog.Builder(MainActivity.this)
                .setHeight(0.23f)  //屏幕高度*0.23
                .setWidth(0.65f)  //屏幕宽度*0.65
                .setTitleVisible(true)
                .setTitleText("温馨提示")
                .setTitleTextColor(R.color.black_light)
                .setContentText("是否关闭对话框?")
                .setContentTextColor(R.color.black_light)
                .setLeftButtonText("关闭")
                .setLeftButtonTextColor(R.color.gray)
                .setRightButtonText("不关闭")
                .setRightButtonTextColor(R.color.black_light)
                .setOnclickListener(new DialogOnClickListener() {
                    @Override
                    public void clickLeftButton(View view) {
//                        dialog2.dismiss();
                    }
                    @Override
                    public void clickRightButton(View view) {
//                        dialog2.dismiss();
                    }
                })
                .build();
  • 样式三

NormalAlertDialog


使用如下代码:

NormalAlertDialog dialog3 = new NormalAlertDialog.Builder(MainActivity.this)
                .setHeight(0.23f)  //屏幕高度*0.23
                .setWidth(0.65f)  //屏幕宽度*0.65
                .setTitleVisible(true)
                .setTitleText("温馨提示")
                .setTitleTextColor(R.color.colorPrimary)
                .setContentText("是否关闭对话框?")
                .setContentTextColor(R.color.colorPrimaryDark)
                .setSingleMode(true)
                .setSingleButtonText("关闭")
                .setSingleButtonTextColor(R.color.colorAccent)
                .setCanceledOnTouchOutside(true)
                .setSingleListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
//                        dialog3.dismiss();
                    }
                })
                .build();
  • 样式四

MDAlertDialog


使用如下代码:

 MDAlertDialog dialog4 = new MDAlertDialog.Builder(MainActivity.this)
                .setHeight(0.21f)  //屏幕高度*0.21
                .setWidth(0.7f)  //屏幕宽度*0.7
                .setTitleVisible(true)
                .setTitleText("温馨提示")
                .setTitleTextColor(R.color.black_light)
                .setContentText("确定发送文件?")
                .setContentTextColor(R.color.black_light)
                .setLeftButtonText("不发送")
                .setLeftButtonTextColor(R.color.gray)
                .setRightButtonText("发送")
                .setRightButtonTextColor(R.color.black_light)
                .setTitleTextSize(16)
                .setContentTextSize(14)
                .setButtonTextSize(14)
                .setOnclickListener(new DialogOnClickListener() {
                    @Override
                    public void clickLeftButton(View view) {
//                        dialog4.dismiss();
                    }
                    @Override
                    public void clickRightButton(View view) {
//                        dialog4.dismiss();
                    } 
               })
                .build();
  • 样式五

MDSelectionDialog


使用如下代码:

MDSelectionDialog dialog5 = new MDSelectionDialog.Builder(MainActivity.this)
                .setCanceledOnTouchOutside(true)
                .setItemTextColor(R.color.black_light)
                .setItemHeight(50)
                .setItemWidth(0.8f)  //屏幕宽度*0.8
                .setItemTextSize(15)
                .setCanceledOnTouchOutside(true)
                .setOnItemListener(new DialogOnItemClickListener() {
                    @Override
                    public void onItemClick(Button button, int position) {
                        Toast.makeText(MainActivity.this, datas.get(position), Toast.LENGTH_SHORT).show();
//                        dialog5.dismiss();
                    }
                })
                .build();
        datas = new ArrayList<>();
        datas.add("标为未读");
        datas.add("置顶聊天");
        datas.add("删除该聊天");
        dialog5.setDataList(datas);
  • 样式六

MDEditDialog


使用如下代码:

MDEditDialog dialog6 = new MDEditDialog.Builder(MainActivity.this)
        .setTitleVisible(true)
        .setTitleText("修改用户名")
        .setTitleTextSize(20)
        .setTitleTextColor(R.color.black_light)
        .setContentText("Weavey")
        .setContentTextSize(18)
        .setMaxLength(7)
        .setHintText("7位字符")
        .setMaxLines(1)
        .setContentTextColor(R.color.colorPrimary)
        .setButtonTextSize(14)
        .setLeftButtonTextColor(R.color.colorPrimary)
        .setLeftButtonText("取消")
        .setRightButtonTextColor(R.color.colorPrimary)
        .setRightButtonText("确定")
        .setLineColor(R.color.colorPrimary) 
       .setOnclickListener(new MDEditDialog.OnClickEditDialogListener() {
            @Override
            public void clickLeftButton(View view, String text) {
                //text为编辑的内容
            }
            @Override
            public void clickRightButton(View view, String text) {
                //text为编辑的内容
            }
        })
        .setMinHeight(0.3f)
        .setWidth(0.8f)
        .build();

引用方式

  • Maven配置
    <dependency>
    <groupId>com.lai.weavey</groupId>
    <artifactId>dialog</artifactId>
    <version>1.1</version>
    <type>pom</type>
    </dependency>
  • gradle引用

    compile 'com.lai.weavey:dialog:1.1'
  • GitHub项目地址,欢迎fork或star,提出宝贵意见
    github.com/weavey/Norm…


更多精彩文章请关注微信公众号"Android经验分享":这里将长期为您分享Android高手经验、中外开源项目、源码解析、框架设计和Android好文推荐!
QQ交流群:Android经验分享一区 386067289


微信公众号