共计 1348 个字符,预计需要花费 4 分钟才能阅读完成。
项目名称: XPopup
我的项目作者: 李晓俊
开源许可协定: Apache-2.0
我的项目地址:https://gitee.com/lxj_gitee/XPopup
我的项目简介
XPopup 提供了 Android 开发中功能强大,交互优雅,动画丝滑的通用弹窗。能够代替 Dialog,PopupWindow,PopupMenu,BottomSheet,DrawerLayout,Spinner 等组件,自带十几种成果良好的动画,反对齐全的 UI 和动画自定义。
我的项目特点
- 功能强大
外部封装了罕用的弹窗,内置十几种良好的动画,将弹窗和动画的自定义设计的极其简略;目前还没有呈现 XPopup 实现不了的弹窗成果。内置弹窗容许你应用我的项目已有的布局,同时还能用上 XPopup 提供的动画,交互和逻辑封装。
- UI 和动画简洁
遵循 Material Design,在设计动画的时候思考了很多细节,过渡,层级的变动;或者说是模拟系统组件的动画,具体能够从 Demo 中感触
- 交互优雅
实现了优雅的手势交互,智能的嵌套滚动,智能的输入法交互,具体看 Demo
- 适配全面屏
目前适配了小米,华为,谷歌,OPPO,VIVO,三星,魅族,一加全系全面屏手机
- 主动监听 Activity 生命周期,主动开释资源。在 Activity 间接 finish 的场景也防止了内存透露
- 很好的易用性
所有的自定义弹窗只需继承对应的类,实现你的布局,而后像 Activity 那样,在 onCreate 办法写逻辑即可
- 性能优异,动画晦涩;精心优化的动画,让你很难遇到卡顿场景
- 能在利用后盾弹出(须要申请悬浮窗权限,一行代码即可)
- 反对 androidx
- 完满反对 RTL 布局
设计思路
综合常见的弹窗场景,作者将其分为几类:
- Center 类型,就是在两头弹出的弹窗,比方确认和勾销弹窗,Loading 弹窗
- Bottom 类型,就是从页面底部弹出,比方从底部弹出的分享窗体,知乎的从底部弹出的评论列表,外部曾经解决好手势拖拽和嵌套滚动
- Attach 类型,就是弹窗的地位须要依附于某个 View 或者某个触摸点,就像零碎的 PopupMenu 成果一样,但 PopupMenu 的自定义性很差,淘宝的商品列表筛选的下拉弹窗,微信的敌人圈点赞弹窗都是这种。
- DrawerLayout 类型,就是从窗体的右边或者左边弹出,并反对手势拖拽;益处是与界面解耦,能够在任何界面显示 DrawerLayout
- ImageViewer 大图浏览类型,就像掘金那样的图片浏览弹窗,带有良好的拖拽交互体验,外部嵌入了改进的 PhotoView
- 全屏弹窗,弹窗是全屏的,就像 Activity 那样,能够设置任意的动画器;适宜用来实现登录,选择性的界面成果。
- Position 自在定位弹窗,弹窗是自在的,你可放在屏幕左上角,右下角,或者任意中央,联合弱小的动画器,能够实现各种成果。
局部组件成果演示
内置弹窗(反对复用已有布局)
自定义 Bottom 弹窗(人造反对嵌套滚动,多层弹窗)
自定义 Attach 弹窗(任意方向反对,灵便易用)
Drawer 弹窗 (手势拖拽,状态栏暗影)
ImageViewer 大图浏览弹窗
如果你想查看更多成果预览或理解应用办法,那就点击前面的链接返回我的项目主页看看吧,别忘了给它一个 Star 哦:https://gitee.com/lxj_gitee/XPopup