几种常见Dialog,直接拿去用!

Android Dialog详解 在Android开发过程中我们经常会遇到如下的场景: 在界面上弹出一个弹框,对用户进行提醒,并让用户做出某些选择性的操作                                                               删除某个应用的系统级别的Dialog                                                           ... 阅读详情

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

字数255 阅读4442 评论19 

前言

项目中经常使用到的几种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'
Android Dialog总结 #.概述 Android系统提供的所有对话框类都继承自Dialog类,一般用到的是AlertDialog。 系统本身提供了AlertDialog的一些样式、也提供了AlertDialog的一些子类Dialog用于某些具体功能,除此之外用户还可自定义AlertDialog的样式。 #.分类与常见用法 这边剪藏写得特别好,条理清晰明确、而且要点基本都包含在内:Android对话框(Dialog)完全使用手册 - 简书 1.共有5种样式的AlertDialog,示例代码和说明... 阅读详情

相关推荐

Dialog 使用(详细版)

在学习Dialog 之前,我们先了解一下Dialog的基础关系。Dialog是Android常用控件之一,主要以弹出框的形式与用户进行交互。对话框是提示用户作出决定或输入额外信息的小窗口。对话框不会填充屏幕,通常用于需要用户采取行动才能继续执行的模式事件。1.实现效果如下:自定义图文对话框/*** 自定义图文对话框实现**/// 这里可以处理一些点击事件builder.setIcon(R.drawable.gril).setTitle("自定义对话框")

轻描时光 2618

改变 CListCtrl、CHeaderCtrl 高度、字体、颜色和背景

用CListCtrl来显示数据比较方便,有时候我们需要标注某一列或某一个单元格的背景和字体颜色,或者需要改变一下行高和字体大小,CListCtrl要改变这些并不是很方便。本文将介绍如何派生一个类来改变CListCtrl及其表头的高度、字体大小、列背景颜色、单元格背景颜色、列字体颜色、单元格字体颜色 实现过程:1.表头修改  新建一个MFC类CHeaderCtrlCl,其基类为CHead

顺子的专栏 1万+

高精度SAR ADC设计实战:从建模到版图的16位1MSPS实现

本文详细介绍了16位1MSPS高精度SAR ADC的设计过程,从建模到版图实现的完整流程。重点探讨了分段电容阵列设计、校准算法实现及版图匹配等关键技术,展示了如何在180nm工艺下实现92.5dB SNDR和109.6dB SFDR的高性能指标。文章特别强调了整数桥接电容设计对提升匹配精度的关键作用,为高精度模数转换器设计提供了实用参考。

weixin_33724046的博客 436

NavigationView更改菜单icon和title颜色变化效果

NavigationView menu默认icon和title会随着菜单状态改变而改变,选择某个菜单后再次打开侧边菜单后会发现该菜单的icon和title会变成应用的主颜色,其他菜单项仍然为黑色。

Dylan Dev Blog 1万+

【冷冻电镜】RELION5.0使用教程总结

对于您自己的数据,您可能希望使用各种倾斜系列对齐方法,然后比较每种方法生成的断层扫描图像的质量(参见下一步)。通过检查 CtfFind job 的 tilt_series 目录中的star文件来检查几个倾斜系列的散焦值。GitHub上也有人反应这个问题,目前我的解决方案是下载了较低版本的CTFFIND的,降级到4.1.10可以成功运行。此外,logfile.pdf 文件包含所有显微照片的有用参数图,例如散焦、像散、估计分辨率等,以及整个数据集中这些值的直方图。的目录,以及指向此目录的符号链接。

进阶中的程序员吃吃的博客 4217

从数据同化到水文模拟:CMADS如何重塑SWAT模型的中国实践

本文探讨了CMADS数据集与SWAT模型在中国复杂地形水文模拟中的融合实践。CMADS通过高分辨率气象数据同化技术,显著提升了SWAT模型在中国特殊地理环境下的模拟精度,特别是在数据稀缺区域。文章详细分析了CMADS的技术架构、应用案例及与传统数据的性能对比,为水文研究提供了新的技术支撑。

git9versioner的博客 629

android 自定义布局 根据布局获取类,android继承一个布局文件实现自定义控件

1.自定义布局文件 rightmenu_item_layout.xmlandroid:layout_width="match_parent"android:layout_height="match_parent"android:orientation="horizontal">android:id="@+id/menu_item_icon"android:layout_width="wra...

weixin_42315966的博客 317

告别‘打架’的检测头:手把手教你用PyTorch实现YOLOv11解耦头(附完整代码)

本文详细解析了YOLOv11解耦检测头的创新设计与PyTorch实现,通过解耦分类和回归任务,显著提升目标检测性能。文章包含完整的代码实现、架构设计解析及工程调优技巧,帮助开发者深入理解并应用这一先进技术。

weixin_29031057的博客 301

Dialog 使用方法详解

Dialog 是Android 常用控件之一,主要以弹出框的形式与用户进行交互。对话框是提示用户作出决定或输入额外信息的小窗口。 对话框不会填充屏幕,通常用于需要用户采取行动才能继续执行的模式事件。   ​欢迎关注微信公众号:程序员Android 公众号ID:ProgramAndroid 获取更多信息 微信公众号:ProgramAndroid 我们不是牛逼的程序员,我们只是程序开...

程序员Android 4111

【即插即用模块】注意力篇 | TGRS 2025 | SCPP:独家复现!三特征多尺度注意力融合,涨点必备!

摘要:SCPP(Scale-aware Pyramid Pooling)是一种创新的多尺度特征融合模块,专为U型网络瓶颈设计。它通过局部特征提取(1×1卷积)、多尺度膨胀卷积(1/3/5膨胀率分支)和全局特征聚合(全局平均池化)三重结构,结合SE通道注意力机制和自适应加权融合,显著提升特征表达能力。实验表明,SCPP能有效解决边缘模糊和错误检测问题,在遥感图像分割等任务中表现优异。该模块支持即插即用,适用于各类需要多尺度特征增强的视觉任务。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 939

补丁1.0:使用Eviews做ADF检验

补丁1.0:使用Eviews做ADF检验

Jet4505的博客 1961

kotlin常见的几种dialog样式

main <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_wi

cf8833的博客 1682

基于simulink的低通滤波器(Low-pass Filter, LPF)

摘要:本文详细介绍了如何在Simulink中搭建低通滤波器进行噪声抑制仿真。通过定义系统需求(50Hz信号+250Hz噪声)、添加信号源、设计6阶巴特沃斯低通滤波器(截止频率100Hz)、连接各模块并配置仿真参数,最终实现高频噪声的有效滤除。该教程包含从模型创建到结果分析的完整流程,为信号处理系统开发提供了基础框架,并可进一步扩展为自适应滤波等高级应用。所需MATLAB版本为R2023a及以上,需安装Simulink和DSPSystemToolbox。

amy_mhd的博客 1303

Dialog的几种用法

Diaglo是一种弹出来的对话框,究竟是什么样的对话框呢,不管,反正能弹出来就是了。 那么Dialog对话框究竟有哪些呢? 1.最常见的带确定,取消和中立的对话框 2.带列表的对话框 3.带多个单选或多选列表项和N个按钮的列表对话框(ps:貌似最多也就两三个按钮而已,多了也是很奇怪。当然特殊要求特殊处理 顺带,带列表的对话框和带单个单选列表的对话框感觉作

C2496649361的博客 3531

仿真学习系列(四十二):Sigrity仿真之走线阻抗和耦合检查

在高速电路设计中,走线的阻抗和信号线之间的耦合是影响信号完整性的重要因素。设计中可能会出现多种情况,导致阻抗变化或不匹配,例如线宽的变化、跨层分割等。传统的人工检查方法常常不够高效且易忽视细节。借助仿真软件,可以快速定位问题区域,并进行精确分析,从而有效避免或减少信号反射和串扰带来的影响。

案例文章,高速信号 423

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

点击Android主菜单应用,直接进入Dialog对话框

在Android系统中,通常我们打开打开一个对话框,都是在进入应用后,点击某一个按钮或者列表项进入Dialog对话框的,现在我们来写一个直接从点击应用后进入Dialog对话框。     设计思路跟我们点击一个按钮来打开对话框类似,只不过在其中我们屏蔽掉这一段的交互代码。点击应用后,创建Activity,执行onCreate()方法,然后在onCreate()方面内直接创建Dialog对话框就可以

AHuier_Techblog :如果我不在写代码,你就 @me 1993

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Android开发:常用Dialog的几种格式显示,普通,列表,单选,多选,可编辑dialog等

Android中几种常见的dialog显示格式,话不多说,直接先上图首先是Java代码import android.app.Dialog; import android.content.DialogInterface; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity...

Leslie的博客 13万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Android中Activity销毁后,页面中的dialog去哪了

Android中Activity移除后,页面中的dialog去哪了问题的起源追根溯源Dialog创建过程Dialog的展示过程结论 问题的起源 在解决客户端中内存泄漏时,看到历史代码中有直接创建dialog并调用dialog.show()的代码存在,这让我对此产生了疑问:dialog会泄露吗?Activity销毁时他去哪里了? 来吧,debug试一下。 简单粗暴的测试代码(Activity中): val builder = AlertDialog.Builder(this) //五秒后开启弹

liu7065的博客 2522

几种常见的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/样式一NormalSelect...

EUEH的博客 1042

Android中几种dialog的实现

今天刚刚学习了android几种常见的dialog的实现,写写自己对这几个dialog的心得吧 第一个确定取消对换框:下面我就直接用代码来体现 /** * 这个是确定取消提示框 * @param view */ public void sureremove(View view){ /* * 创建步骤 * 1,创建工厂对象 * 2,通过工厂对象去明确我们的需求 * 3,创建 */ // 1,创建

csdn_liuwen的博客 513

在有Dialog的activity上,如何点击back直接结束此activity?

现有一个activity,并且有dialog弹出(如图)。 当在dialog存在的时候,点击手机back键,先退出的是此dialog,当再次点击手机返回键的时候,才能退出此activity。 那么如何写代码实现只点击一次手机back键时,退出当前activity? 实现:            private AlertDialog mDialog;

2878

ABAP DIALOG屏幕编程1

DIALOG、PBO、PAI的概念,常用页面元素的演示。

博客简介 3173

android中的几种Dialog

在开发应用中,我们一般会以弹对话框的方式与用户进行交互,以下是几种弹dialog的方式。 一、普通的Dialog private void nomalDialog () { AlertDialog.Builder builder = new AlertDialog.Builder (this); builder.setTitle ("普通对话框"); builder

yangshuangyue的博客 972

dialog去边框

这里面我们可以看出,Android 使用了默认的构造函数为Dialog 设置样式,如果没有为其设置样式,即默认加载事先编写好的样式文件,Dialog 一共由多个9.png的图片构成,大部分都是带有边框的9.png图片,所以就是为什么我们上边的样式文件要将其背景去除掉 public Dialog(Context context, int theme) { mContext = ne

z471365897的专栏 1167

几种常见Dialog,懒人必收

前言项目中经常使用到的几种Dialog,所以干脆封装起来了,方便以后使用,顺便分享给大家,话不多说,直接看效果。 样式一 使用如下代码:NormalSelectionDialog dialog1 = new NormalSelectionDialog.Builder(this) .setlTitleVisible(true) //设置是否显示标题

万物weiyi 2858

如何显示Dialog窗口

我们在介绍Get包时提到该包提供了一些实用功能,显示Dialog就是其中之一,Dialog是项目中常用的组件,本章回中将详细介绍如何使用Get包显示Dialog.Get提供了两种方法显示Dialog,不过Dialog的显示效果不同;

talk_8的专栏 878
上一篇: 高仿美团app,浮动layout滑动到顶部
下一篇: Glide使用详解(一)
rongbinjava
博客等级 码龄11年 15粉丝 83原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值