3分钟集成NiceDialog:基于DialogFragment的Android弹窗库快速上手教程

发布时间:2026/8/19 21:28:28

3分钟集成NiceDialog:基于DialogFragment的Android弹窗库快速上手教程
3分钟集成NiceDialog基于DialogFragment的Android弹窗库快速上手教程【免费下载链接】NiceDialogA nice dialog, that is based on DialogFragment项目地址: https://gitcode.com/gh_mirrors/ni/NiceDialog在 Android 开发中弹窗Dialog几乎是每个应用都绕不开的功能但传统AlertDialog写法繁琐、样式难调还要处理屏幕旋转和生命周期问题。今天要介绍的NiceDialog是一款基于DialogFragment的轻量级Android 弹窗库主打一行代码弹窗只需 3 分钟即可完成集成并跑出第一个弹窗无论新手还是老手都能快速上手。上图是 NiceDialog 示例工程中红包弹窗的效果只需指定一张布局就能做出这种高颜值弹窗。NiceDialog 是什么凭什么好用NiceDialog 在DialogFragment之上做了一层简洁封装核心代码集中在 BaseNiceDialog.java 和 NiceDialog.java 两个文件里设计非常轻巧。它解决了原生弹窗的三大痛点✅写法简单链式调用一行代码完成弹窗创建与展示✅生命周期安全基于 Fragment 实现屏幕旋转自动保存、恢复弹窗状态✅动画随心配内置上下左右进出场动画一行配置即可切换3分钟快速集成 NiceDialog 的完整步骤第一步添加 JitPack 仓库与依赖在项目根目录的build.gradle中配置 JitPack 仓库然后添加依赖即可整个过程无需 clone 源码allprojects { repositories { maven { url https://jitpack.io } } }dependencies { implementation com.github.SheHuan:NiceDialog:1.2.0 }如果你想阅读或修改源码也可以直接 clone 仓库体验完整示例工程git clone https://gitcode.com/gh_mirrors/ni/NiceDialog弹窗库本体位于nicedialog/目录演示代码位于app/目录。第二步用一行代码弹出第一个弹窗依赖同步完成后在 Activity 里写下这段代码即可看到弹窗效果NiceDialog.init() .setLayoutId(R.layout.dialog) // 指定弹窗布局 .setConvertListener((holder, dialog) - { // 在这里给弹窗里的控件绑定事件 }) .show(getSupportFragmentManager()); // 显示弹窗没错核心就三步指定布局 → 绑定控件 → show 展示。更多完整示例可以参考演示工程中的 MainActivity.java里面内置了分享、好友设置、评论、红包、加载提示等 7 种弹窗。第三步常用配置速查表NiceDialog 提供了丰富的链式配置方法这张速查表帮你快速找到想要的配置配置方法作用默认值setGravity()弹窗位置居中 / 底部 / 右侧等居中setMargin()弹窗左右边距dp0setWidth() / setHeight()弹窗宽高dp屏幕宽 / WRAP_CONTENTsetDimAmount()背景遮罩透明度 [0-1]0.5setOutCancel()点击外部是否关闭truesetAnimStyle()进出场动画跟随位置自动匹配 小提示setMargin()和setWidth()二选一使用即可避免配置冲突。进阶玩法如何打造底部弹窗与自定义动画最快的底部弹窗配置方法常见的底部弹出分享面板只需两行配置NiceDialog.init() .setLayoutId(R.layout.share_layout) .setGravity(Gravity.BOTTOM) // 底部弹出 .show(getSupportFragmentManager());设置Gravity.BOTTOM后NiceDialog 会自动匹配底部进出场动画动画资源位于nicedialog/src/main/res/anim/目录无需手动指定。继承 BaseNiceDialog 打造可复用弹窗如果同一弹窗需要在多个页面复用推荐继承BaseNiceDialog并使用原生 Fragment 传参方式传递数据public class ConfirmDialog extends BaseNiceDialog { public static ConfirmDialog newInstance(String type) { Bundle bundle new Bundle(); bundle.putString(type, type); ConfirmDialog dialog new ConfirmDialog(); dialog.setArguments(bundle); return dialog; } // 实现 intLayoutId() 与 convertView() 两个抽象方法即可 }展示时依旧一行搞定ConfirmDialog.newInstance(1).setMargin(60).setOutCancel(false).show(...)。自定义动画的小技巧NiceDialog 默认主题继承自Theme.AppCompat.Light.Dialog可在 styles.xml 中查看默认动画风格。想自定义进出场动画只需写一个 Animation 风格再通过setAnimStyle()传入例如缩放 渐变的组合动画style nameMyAnim parentandroid:Animation item nameandroid:windowEnterAnimationanim/enter/item item nameandroid:windowExitAnimationanim/exit/item /style结语为什么推荐用 NiceDialog 做 Android 弹窗总结下来NiceDialog 作为一款基于 DialogFragment 的 Android 弹窗库把配置繁琐、样式难调的弹窗开发压缩到了极致3 分钟集成、一行代码弹窗、内置动画、生命周期安全。如果你正在寻找一款简单好用的 Android 弹窗解决方案不妨现在就上手试试吧【免费下载链接】NiceDialogA nice dialog, that is based on DialogFragment项目地址: https://gitcode.com/gh_mirrors/ni/NiceDialog创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

GreatSQL非阻塞式DDL与异步删除大表:运维不再胆战心惊

GreatSQL非阻塞式DDL与异步删除大表:运维不再胆战心惊

2026/8/19 21:28:28

GreatSQL非阻塞式DDL与异步删除大表:运维不再胆战心惊 【免费下载链接】GreatSQL GreatSQL是一款开源免费数据库,可在普通硬件上满足金融级应用场景,具有高可用、高性能、高兼容、高安全等特性,可作为MySQL或Percona Server for M…

基于LangGraph构建AI日程管理智能体:从架构到实践

基于LangGraph构建AI日程管理智能体:从架构到实践

2026/8/19 21:28:28

1. 项目概述:当AI成为你的专属日程管家“AI Calendar Management Agent”,这个项目标题听起来可能有点技术化,但它的核心目标非常直接:打造一个能真正理解你、主动帮你管理日程的智能助手。它不是一个简单的日历同步工具&#xff…

2026企业级TikTok运营指南:品牌出海如何搭建全球KOC账号矩阵与内容体系

2026企业级TikTok运营指南:品牌出海如何搭建全球KOC账号矩阵与内容体系

2026/8/19 21:28:28

对于已经进入全球化阶段的消费品牌来说,TikTok代运营早已不只是“注册一个账号、每周发几条视频”。真正的企业级TikTok增长,要解决的是:全球账号矩阵怎么搭?各类账号如何分工?如何持续生产适配不同市场的内容&#xf…

HarmonyOS 6(API 23)实战:掉帧问题排查——从工具链全景到五步闭环的系统化卡顿治理

HarmonyOS 6(API 23)实战:掉帧问题排查——从工具链全景到五步闭环的系统化卡顿治理

2026/8/19 22:18:30

文章目录每日一句正能量导读一、引言:掉帧排查是性能优化的"最后一公里"二、工具链全景:八大核心工具的分工与协作2.1 问题感知层工具2.2 深度诊断层工具2.3 辅助定位层工具2.4 工具选型速查表三、Frame 泳道深度解读:从绿色到红色…

微信平板模式怎么开启?WeChatPad 让一台微信在两台设备同时登录

微信平板模式怎么开启?WeChatPad 让一台微信在两台设备同时登录

2026/8/19 22:18:30

微信平板模式怎么开启?WeChatPad 让一台微信在两台设备同时登录 【免费下载链接】WeChatPad 强制使用微信平板模式 项目地址: https://gitcode.com/gh_mirrors/we/WeChatPad 平板上的微信,只能忍受"被拉大的手机界面"吗?同一…

大众第三品牌战略:合资车企如何应对市场挤压与自主品牌竞争

大众第三品牌战略:合资车企如何应对市场挤压与自主品牌竞争

2026/8/19 22:18:30

1. 市场格局的“挤压”与“破局” 最近几年,如果你关注汽车行业,会发现一个非常有意思的现象:那些我们印象中“高高在上”的合资巨头,比如南北大众,动作越来越频繁,也越来越“接地气”。他们不再仅仅守着帕…

十分钟装好HS2汉化去和谐整合补丁:日文、报错、MOD缺失一次解决

十分钟装好HS2汉化去和谐整合补丁:日文、报错、MOD缺失一次解决

2026/8/19 22:18:30

十分钟装好HS2汉化去和谐整合补丁:日文、报错、MOD缺失一次解决 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch 同样一张角色卡,别人拖进…

Proxmark3GUI快速上手教程:3步搞定RFID卡片读写与安全测试

Proxmark3GUI快速上手教程:3步搞定RFID卡片读写与安全测试

2026/8/19 22:18:30

Proxmark3GUI快速上手教程:3步搞定RFID卡片读写与安全测试 【免费下载链接】Proxmark3GUI A cross-platform GUI for Proxmark3 client | 为PM3设计的跨平台图形界面 项目地址: https://gitcode.com/gh_mirrors/pr/Proxmark3GUI 如果你手边恰好有一张刷不开的…

被反爬卡住的日子到头了:MediaCrawler-new 让五大平台数据采集一次跑通

被反爬卡住的日子到头了:MediaCrawler-new 让五大平台数据采集一次跑通

2026/8/19 22:08:30

被反爬卡住的日子到头了:MediaCrawler-new 让五大平台数据采集一次跑通 【免费下载链接】MediaCrawler-new 项目地址: https://gitcode.com/GitHub_Trending/me/MediaCrawler-new 做市场调研、追竞品动态、分析舆情趋势,绕不开一个共同的难题&am…

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

2026/8/19 3:36:59

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码

【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码

2026/8/19 9:17:18

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

2026/8/19 8:02:16

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

SQL 调优 [ 2 ]

SQL 调优 [ 2 ]

2026/8/19 0:07:32

type列详解EXPLAIN输出的type列描述了表是如何连接的,性能从最好到最差的排序如下:systemconsteq_refreffulltextref_or_nullindex_mergeunique_subqueryindex_subqueryrangeindexALL接下来我们对 type列 做详细讲解。我们都知道,想要评估一条…

正式评优怎么选投票工具?人人微投票审计级防刷能力实测

正式评优怎么选投票工具?人人微投票审计级防刷能力实测

2026/8/19 0:07:32

在线上投票工具遍地开花的今天,选择一个合适的平台,本质上是在做一道关于场景与需求的匹配题。人人微投票是一个很典型的案例——它的产品逻辑、技术架构和商业模式,都围绕着“正式评选”这个细分场景深度扎根,也因此形成了自己鲜…

15 天 3 连发:DeepSeek 的「机枪」节奏,到底在下什么棋?

15 天 3 连发:DeepSeek 的「机枪」节奏,到底在下什么棋?

2026/8/19 0:07:32

15 天 3 连发:DeepSeek 的「机枪」节奏,到底在下什么棋?回看 2026 年 8 月这半个月,DeepSeek 的动作密度堪称疯狂:月初端出便宜快速的 V4-Flash,8 月 13 日同一天甩出 V4-Pro 正式版 开源 Harness 框架&am…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/17 12:00:53

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/15 10:10:27

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/18 12:20:24

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…