几种常见的Dialog

前言

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

注意:使用的时候,不要忘记  .show    奥。

项目地址:

https://weavey.github.io/2016/12/28/%E7%9B%B4%E6%8E%A5%E6%8B%BF%E5%8E%BB%E7%94%A8%E4%B9%8BDialog2/

  • 样式一

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.3'

在使用的时候 我们将 dialog2 变为全局,在最下面.build()后调用  dialog2.show  就可以显示了,设置消失可以设置dialog.dismiss。

并且我们可以进行进一步的小封装:
public static void ShowTokenNewLogin(final Context context){
    dialog2 = new NormalAlertDialog.Builder(context)
            .setHeight(0.23f)  //屏幕高度*0.23
            .setWidth(0.65f)  //屏幕宽度*0.65
            .setTitleVisible(true)
            .setTitleText(context.getResources().getString(R.string.login_time_to_long))
            .setTitleTextColor(R.color.black_light)
            .setContentText(context.getResources().getString(R.string.the_new_login))
            .setContentTextColor(R.color.black_light)
            .setLeftButtonText(context.getResources().getString(R.string.exit_p_x))
            .setLeftButtonTextColor(R.color.gray)
            .setRightButtonText(context.getResources().getString(R.string.login_again))
            .setRightButtonTextColor(R.color.black_light)
            .setCanceledOnTouchOutside(true)
            .setOnclickListener(new DialogOnClickListener() {
                @Override
                public void clickLeftButton(View view) {
                    dialog2.dismiss();
                    SharedPreferencesUtils.clearToken(context);
                    SharedPreferencesUtils.clearAppID(context);
                    ActivityCollector.finfishAll();
                }
                @Override
                public void clickRightButton(View view) {
                    dialog2.dismiss();
                    SharedPreferencesUtils.clearToken(context);
                    SharedPreferencesUtils.clearAppID(context);
                    Intent intent = new Intent(context, LoginActivity.class);
                    context.startActivity(intent);
                }
            })
            .build();
    dialog2.show();

}

其余代码就不一一展示了,主要思想就是传进context对象,把它写在工具类中,这样我们就可以在有需要的地方去调用它了。



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Kendoui Dialog是一个弹出窗口组件,用于在网站开发中显示消息、警告、确认或其他信息。它提供了几种不同的类型和样式,以满足不同的需求。 首先,Kendoui Dialog可以用于显示普通的对话框窗口。这种类型的对话框可以用于显示一般的信息或提示消息,例如成功操作的提示、错误信息或简单的确认信息。 其次,Kendoui Dialog还提供了警告对话框。这种类型的对话框被用于显示重要的警告信息,例如删除数据的警告或执行危险操作的警告。 另外,Kendoui Dialog还可以用于显示确认对话框。这种类型的对话框用于获取用户的确认,例如在执行一些重要操作之前要求用户确认操作的类型。 此外,Kendoui Dialog还提供了一个进度对话框。这种类型的对话框可以显示进度的状态,例如加载或保存数据时的进度条。 最后,Kendoui Dialog还具有自定义对话框的功能。这意味着开发人员可以根据自己的需求自定义对话框的样式和布局。 总的来说,Kendoui Dialog提供了几种不同类型的对话框,包括普通对话框、警告对话框、确认对话框、进度对话框和自定义对话框,以满足网站开发中的不同需求。 ### 回答2: Kendo UI Dialog 是一个用于创建弹出对话框的组件。它提供了多种样式的对话框可以在网页上使用。Kendo UI Dialog 主要分为以下几种类型: 1. 普通对话框(Plain Dialog):普通对话框是最基础、最简单的对话框类型。它提供了一个可自定义内容和按钮的对话框框架。普通对话框可以用于显示警告、确认、提示等信息。 2. 模态对话框(Modal Dialog):模态对话框是一种在对话框出现后,阻止用户与页面其他部分进行交互的对话框类型。除非关闭或完成对话框的操作,否则用户无法操作页面上的其他元素。模态对话框通常用于需要用户立即采取行动或提供重要信息的情况。 3. 嵌入式对话框(Inline Dialog):嵌入式对话框是一种特殊类型的对话框,它不是以弹出窗口的形式出现,而是在DOM的某个元素中嵌入显示。嵌入式对话框可以用于在页面的某个位置显示额外的信息或提供交互功能。 4. 提示对话框(Alert Dialog):提示对话框是一种类似于普通对话框的对话框类型,用于向用户显示重要的信息或提醒用户进行某种操作。与普通对话框不同的是,提示对话框通常只有一个按钮,用于关闭对话框。 这些是常见的Kendo UI Dialog几种类型。开发人员可以根据需要选择适合自己应用场景的对话框类型,并按照自己的需求进行定制。 ### 回答3: Kendo UI Dialog是Kendo UI框架中的一个组件,用于创建弹出对话框。Kendo UI Dialog提供了多种不同的类型,以满足不同的需求。下面是Kendo UI Dialog几种类型: 1. 模态对话框:模态对话框是一种可以阻止用户与应用程序的其他部分交互的对话框。当模态对话框打开时,用户只能与对话框进行交互,直到关闭对话框为止。 2. 非模态对话框:非模态对话框是一种允许用户与应用程序的其他部分交互的对话框。当非模态对话框打开时,用户可以同时与对话框和应用程序的其他部分进行交互。 3. 自定义对话框:Kendo UI Dialog还提供了灵活的自定义选项,可以根据应用程序的需求创建定制化的对话框。通过自定义对话框,开发者可以更改对话框的样式、布局和行为,以满足特定的需求。 以上是Kendo UI Dialog几种类型。开发人员可以根据应用程序的需求选择适合的对话框类型,并根据需要进行自定义设置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值