使用 DialogX 快速构建 Android App 对话框
传统原生对话框组件存在着内存泄漏、自定义程度不足的问题,开发时常会因为遇到各式各样的奇葩崩溃而烦恼,面对着产品和设计师诸如“对话框圆角大一些”、“能不能照着iOS
设计稿的模糊效果做”、“下滑列表界面自动关掉对话框”等等诸多需求又难以解决,又不想每次封装或编写一大堆的代码去实现某一个小小的提示框需求,你可以试试 DialogX
,它足以满足大部分场景下快速完成对话框、阻断提示框、非阻断提示框、底部对话框等等各式各样的对话框组件,又能完美满足各种主题和功能扩展需求,极大地方便了开发流程,帮助你快速构建应用对话框功能。
易用性对比
对比传统 AlertDialog,DialogX 具有很大的优势:
- DialogX 采用全新的实现方式,默认 View 实现方式更为轻便,亦可选 Window、DialogFragment 实现方式,自由灵活。
- DialogX 的启动与线程无关,你可以在任意线程启动
DialogX
而它都将自动在 UI 线程运行。 - DialogX 的启动无需 context 参数,默认提供静态方法一句代码实现对话框的启动,使用更加方便。
- 更自由,开发者可以轻松定制对话框中任何组件的样式,包括文本样式、按钮文字样式、菜单文本样式、输入文本样式,大到标题,小到提示消息都可以根据需要随意修改。
- DialogX 采用主题分离设计,默认自带 Material 主题,可选引入 IOS、Kongzue、MIUI 等其他风格主题,大大减小 App 体积,同时提供了主题接口,如有定制需求完全可以自行实现一套私有主题。
- 更低的耦合度,更少的问题,
DialogX
可以在对话框正在运行的过程中随意关闭 Activity ,而无需担心以往 AlertDialog 等组件会引发的 WindowLeaked 错误。 - 更流畅的体验,DialogX 的动画效果更加丰富,对话框启动动画采用非线性动画实现,更自带连贯的等待提示到完成错误动画过渡效果,让你的 APP 更具动感。
- 所有主题默认支持亮暗色两种模式,只需一键配置即可实现亮暗色的对话框主题切换,更有自由的布局内容满足定制化需求,
DialogX
也支持自动适应系统亮暗色模式切换,能够根据系统设置自动判断亮暗色显示效果的切换。 - 轻松的实现对话框的生命周期管控以及沉浸式适配。
AlertDialog
,完成一个简简单单的提示确认,至少需要以下代码:AlertDialog Demo
//构建 AlertDialog Builder
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("标题");
builder.setMessage("这里是正文内容。");
builder.setCancelable(true);
//点击对话框以外的区域是否让对话框消失
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(context, "你点击了是的", Toast.LENGTH_SHORT).show();
dialog.dismiss();
}});
AlertDialog dialog = builder.create();
dialog.show();
//显示对话框
MessageDialog Demo
MessageDialog.show("标题", "这里是正文内容。", "确定");
当然,你也可以根据自己的习惯使用 build 方法构建:
MessageDialog.build()
.setTitle("标题")
.setMessage("这里是正文内容。")
.setOkButton("确定")
.show();
单从代码量上来说,
DialogX
都更为方便,其次 DialogX 还具备很多独特的优势,在编码的过程中你都会感觉到,编写一个想要的对话框将变得非常的简单。DialogX 也支持
null
输入,只要你想,你可以指定任何元素不要显示,给它设置 null 即可。满足需要的各式各样的组件 DialogX 包含多种组件,消息提示框 MessageDialog 和基于它的选择对话框、输入对话框 InputDialog,满足基础的对话框场景需求,默认为 Material 主题样式。
文章图片
【使用 DialogX 快速构建 Android App】阻断式提示框
WaitDialog
,以及提示框 TipDialog,适合需要强提示,同时阻止用户继续操作界面的场景,组合使用时,这两个组件可以衔接使用,即可以从 WaitDialog 处于显示时通过动画无缝衔接过度到 TipDialog,TipDialog 默认包含“完成”、“警告”、“错误”三种状态,WaitDialog 默认包含循环转圈、显示进度两种模式:文章图片
底部对话框 BottomDialog 满足屏幕下部弹出对话框的需求,Material 主题自带下滑关闭功能,也可以直接使用底部菜单 BottomMenu 快速完成用户选择需求。
文章图片
非阻断提示 PopTip 类似于 Toast,在显示提示时用户可以继续操作界面,可以快速设置显示内容、自定义显示时长,自定义图标和操作按钮
文章图片
全屏对话框 FullScreenDialog 可以实现悬浮一个对话框界面层到当前 Activity 上,而 Activity 显示的内容将有一定“下沉”的动画效果,适用于需要全屏处理的操作需求:
文章图片
另外 DialogX 还提供了 CustomDialog 以满足完全的自定义需求,在 CustomDialog 中,所有的一切基于你自己的 layout 布局实现,你还可以轻松控制背景遮罩、自己的布局需要显示的位置,甚至可以绑定显示到某一个 Activity 界面元素周围用于引导提示需求:
文章图片
推荐阅读
- android 自定义View: 视差动画
- webview|CSS原生修改select 样式,实现下拉三角括号
- Anroid|Android Studio开发中的各种开源API
- Android|Android studio大作业-体育场预约管理系统
- android|Android Studio 实现简易的个人信息录取(含源码)
- android|android studio 健身软件,基于Android的健身助手设计与实现.doc
- 快讯|华为Mate 50将于9月6日发布;马斯克薪酬高达100亿美元;Kotlin成为Android官方支持语言5周年|极客头条
- flutter|【Flutter混合开发踩坑日记之‘applicationVariants‘ for extension ‘android‘】
- Kotlin|浅谈Android dataBinding使用