常用弹窗与动画交互招募
我们需要开发一个类似XPopup的Android弹窗组件库,要求功能全面、性能优异、易于使用,能够覆盖移动端所有常见的弹窗场景。
悬赏内容
招募内容
参考地址:https://gitee.com/lxj_gitee/XPopup
核心功能需求
1. 弹窗类型支持
中心弹窗:屏幕中央弹出,用于确认框、Loading等
底部弹窗:从底部滑出,支持手势拖拽交互
附着弹窗:依附于特定View或触摸点显示
侧边抽屉:从屏幕左右边缘滑出
全屏弹窗:全屏显示,可替代Activity使用
大图浏览:支持图片缩放、拖拽的查看器
自由定位:可在屏幕任意位置显示
2. 动画系统
内置10+种常用动画效果
支持自定义动画实现
动画流畅不卡顿,考虑细节过渡效果
3. 交互体验
手势拖拽关闭
智能嵌套滚动处理
输入法自动适配
多弹窗层级管理
4. 兼容性要求
全面屏、挖孔屏适配
横竖屏切换支持
小窗模式兼容
支持RTL布局
技术规格
必需特性
基于AndroidX开发
自动生命周期管理
支持LiveData生命周期感知
内存泄漏防护
支持应用后台弹出(悬浮窗权限)
性能要求
启动速度快
动画帧率稳定
内存占用低
开发标准
代码结构
// 示例使用方式
new MyPopupBuilder(context)
.setAnimation(AnimationType.SLIDE_FROM_BOTTOM)
.setContentView(R.layout.custom_popup)
.show();自定义要求
继承式设计,类似Activity的onCreate模式
布局与逻辑分离
配置简单明了
相关附件
质量认证要求
交付件
NO | 交付件描述 | 备注 |
1 | 三方库源代码 | 源代码 |
2 | 三方库测试方案和用例 | 测试用例和文档 |
3 | 用户手册,API文档,设计文档,license文档 | 资料和文档 |
验收标准
1.功能
三方库必须有明确的功能;
如果参考对标库移值开发,功能与参考三方库保持一致。
2.资料
Readme:包含简介,软件架构,目录结构,下载安装(编译构建),接口说明,使用示例,约束限制,开源协议,参与贡献等内容;
Changelog,三方库版本需包含基本的修改说明。
3.标准遵从性(可选),三方库实现需满足对应协议或行业标准,举例
appquth:支持对OAuth 的PKCE扩展;
icu4j:支持unicode标准库,通用字符集ISO/IEC 10646。
4.性能目标
性能敏感三方库接口运行性能持平对标三方库
5.开源协议遵从,必须包含License文件
放置合适的开源License协议,建议Apache License Version 2.0;
引用或参考开源三方库,需遵从开源协议。
6.网络安全要求
满足基础的网络安全红线及隐私要求,符合安全编码规范。
过程质量要求
指标分类 | 指标名称 | 指标要求 | 度量工具 | 牵引 OR Must |
代码度量 | 平均文件代码行 | ≤300 LOC | CMetricsPlus,CJMetric | Must |
总文件重复率 | C/C++≤4%;相比开源不劣化 | CMetricsPlus,CJMetric | Must | |
源文件重复率 | C/C++≤4%;相比开源不劣化 | CMetricsPlus,CJMetric | Must | |
平均函数或方法代码行* | ≤30 LOC | CMetricsPlus,CJMetric | Must | |
总代码重复率 | C/C++≤10%;相比开源不劣化 | CMetricsPlus,CJMetric | Must | |
源文件代码重复率 | C/C++≤10%;相比开源不劣化 | CMetricsPlus,CJMetric | Must | |
平均圈复杂度 | ≤5;相比开源不劣化 | CMetricsPlus,CJMetric | Must | |
冗余代码 | “0” 【2】; | CMetricsPlus,CJMetric | Must | |
不安全函数 | NA | CMetricsPlus,CJMetric | Must | |
静态检查 | 编译告警 | “0” 【2】 | Compile工具 | 牵引 |
通用静态告警 | “0” 【2】 | Pclint plus,CJLINT | Must | |
开发者测试 | DT用例密度(个/KLOC) | > 40 | 手工 | 牵引 |
DT代码语句覆盖率 | >=85% | Gcov,cjcov | 牵引 | |
DT代码分支覆盖率 | >=50% | Gcov,cjcov | 牵引 | |
未做DT文件数 | 0 | 手工 | 牵引 | |
问题解决率 | 遗留问题DI | 整体<10 | Issue | 牵引 |
遗留致命缺陷数(0) | 0 | Issue | Must | |
累计缺陷解决率 | 85% | Issue | 牵引 | |
软件开发 | 每日构建成功率 | 100% | CI | 牵引 |
测试评估 | 测试缺陷密度(/KLOC) | 5-9 | 人工 | 牵引 |
测试用例密度(个/KLOC) | 20-40 | 人工 | 牵引 | |
初验用例自动化率 | 100% | CIDA | 牵引 | |
HLT自动化用例比率 | 【85%,95%】 | CIDA | 牵引 | |
开源第三方(含构建工具) | 开源片段引用 | 0(除例外备案类) | FOSSBOT+人工 | Must |
可信构建 | 二进制一致性 | 0(含可澄清) | 人工 | Mus |

