作为一名前端开发者,在基于 Expo 开发 App 的过程中,被官方 expo-splash-screen 插件的诸多限制绊了不少跟头,相信不少同学也有同款困扰:
- 业务需要在闪屏阶段叠加隐私协议弹框,官方方案无灵活扩展方式;
- 开屏背景需用渐变图,而
expo-splash-screen0.27.6 版本后直接不支持该需求; - 适配需求需要同时修改 Android/iOS 原生代码,跨端改造成本高、易出问题。
为了解决这些实际开发中的痛点,我使用cursor对expo-splash-screen做了二次封装,打造了 expo-splash-screen2 这个轻量小工具,今天把它分享给有同样需求的小伙伴,希望能帮大家少踩坑~
🚀 核心能力:解决官方方案的核心痛点
1. 前端化自定义,解锁多样闪屏效果
支持 WebView/HTML 实现闪屏内容,前端同学可以直接用熟悉的 CSS 写动画、接入 GIF 动图,甚至能放视频作为开屏素材,全程不用碰原生代码,前端就能搞定个性化闪屏。
2. 多端适配更省心,告别原生修改
- 支持全屏背景图自适应缩放,iOS/Android 显示效果更统一;
- Android 端可直接配置
.9.png图片,无需在原生层面做任何修改,彻底省去安卓端的适配工作。
3. 优化启动体验,解决白屏 / 跳变问题
优化闪屏启动过渡逻辑,让 App 从闪屏到主界面的切换更顺滑,有效减少开发中常见的白屏、闪屏跳变等影响用户体验的问题。
4. 灵活扩展,适配业务个性化需求
轻松实现闪屏阶段叠加隐私协议弹框等自定义操作,不再受官方插件的功能限制,完美适配实际业务中的个性化需求。
🎯 适合谁用?
- 想给 Expo App 做复杂自定义闪屏(渐变、动画、弹窗等)的开发者;
- 追求多端开发统一,不想折腾 Android/iOS 原生代码的前端同学;
- 被官方闪屏插件的白屏、适配、扩展问题踩坑的 Expo 开发者。
⚙️ 安装与使用
安装命令
bash
运行
npm install expo-splash-screen2
源码地址
💡 写在最后
expo-splash-screen2 只是 Expo 社区的一个小补充,并非替代官方的 expo-splash-screen 方案,核心目的是解决开发中「自定义闪屏需求多、原生改造成本高」的实际痛点。
如果这个小工具对你的开发有帮助,欢迎点个 star 支持一下~也非常欢迎大家在仓库提 issue、提 PR,一起完善这个工具,让 Expo 的开发生态变得更顺手 🙏