ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

弹出对话框之Dialog,你一定不知道这些

2021-06-16 20:54:36  阅读:234  来源: 互联网

标签:控件 自定义 对话框 布局 AlertDialog Dialog 一定 我们


对于Dialog想必大家应该不陌生, 我们平长遇到的各种对话框就是Dialog了, 这个控件会在我们操作的任何界面弹出一个对话框, 且必须需要我们去操作它才可以关闭, 关于这个Dialog还是有许多地方值得我们去探讨的。
首先, 我们都知道最常用的对话框是这个AlertDialog, 不知道大家在使用这个控件的时候有没有注意到, 这个控件有两个包都包含它, 我们比较常用的是android.app.AlertDialog这个包下的, 但是在android.support.v7.app.AlertDialog 同样也有AlertDialog, 那么这两个有什么区别吗? 这里面是个小知识点,因为现在大家使用的安卓手机系统大多都在2.3以上, 所以不会太在意, 但是如果是在2.3版本以下, 假如我们使用了android.app.AlertDialog包下的AlertDialog, 那么实现的效果是这个样子的:


这样的效果着实有点丑了, 有点落后, 但是如果我们使用v7包下的AlertDialog, 那么就能实现统一的风格了, 是这个样子的:


这个效果还是好看的多。
我们接着说下一个问题, 我们在使用AlertDialog的时候是无法直接通过AlertDialog创建对象的, 这是为什么呢?让我们来看看它的源码:



我们可以看到它的几个构造方法都是protected, 所以我们无法通过AlertDialog直接创建对象, 但是我们总归还是要用的啊, 所以Android系统为我们提供了Builder这个静态内部类来创建AlertDialog对象, 一般是如下格式:
AlertDialog.Builder builder = new AlertDialog.Builder(this); AlertDialog dialog = builder.create();
至于一个简单的弹出对话框的demo想必大家都会,这里不再写了, 大家可能会发现你平常在使用对话框的时候没有使用到creat这个方法去创建, 这是因为你还没有使用到对话框的自定义布局, 当你使用到自定义的布局的时候就必须使用AlertDialog dialog = builder.create();这种方式去创建对话框了。
那我们就来看看如何使用自定义布局, 首先你要自定义一个layout, 就是一个xml文件, 其实说白了就是以前的对话框是弹出系统默认的布局样式, 现在你自定义一个布局, 那么弹出的对话框就是你自定义的一个布局, 我们来看主要代码, 这里我的自定义布局名称为mylayout


这里我们只需要创建一个AlertDialog对象, 然后使用dialog的setView方法为其填充布局, 然后再将这个AlertDialog显示出来就行了, 代码没什么难度, 同样的我们们可以为你自定义布局里面的控件添加一些监听事件去处理相关逻辑,运行如下:



这就是关于对话框的一些知识, 如果你还想详细了解, 那就需要自己再下功夫研究了!

标签:控件,自定义,对话框,布局,AlertDialog,Dialog,一定,我们
来源: https://blog.51cto.com/u_11520563/2911962

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有