小米14,用户新安装app,输入完账号和密码后进入应用,uni.showmodal的背景色成了深灰色,导致弹窗文字看不清,退出登录后,再进入就不存在这个问题了,弹窗背景色又恢复成了正常的白色
- 发布:2026-02-10 09:28
- 更新:2026-02-10 09:28
- 阅读:19
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 10.0.8.100
HBuilderX类型: 正式
HBuilderX版本号: 4.66
手机系统: Android
手机系统版本号: Android 12
手机厂商: 小米
手机机型: 14
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
定位问题,并解决
定位问题,并解决
实际结果:
小米14,用户输入完账号和密码后进入应用,uni.showmodal的背景色成了深灰色,导致弹窗文字看不清
小米14,用户输入完账号和密码后进入应用,uni.showmodal的背景色成了深灰色,导致弹窗文字看不清
bug描述:
Ask小助手 - Ask社区AI助手
欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
作为 DCloud 官方人员,我对这条 bug 反馈进行如下评审:
1. 内容完整性评估
| 检查项 | 状态 | 说明 |
|---|---|---|
| BUG 标题 | ✅ 清晰 | 明确指出了“小米14”、“uni.showModal背景色异常” |
| BUG 描述 | ⚠️ 不够详细 | 只描述了现象,未提供代码片段、showModal调用方式、是否使用自定义主题或暗黑模式等关键信息 |
| 代码示例 | ❌ 缺失 | 没有提供任何代码,无法判断是否使用了自定义样式或主题变量 |
| 复现步骤 | ⚠️ 不完整 | 只说了“新安装 -> 登录 -> 弹窗背景变灰”,未说明是否使用了深色模式、是否手动设置过背景色、是否有条件编译等 |
| 预期结果 | ✅ 合理 | 弹窗背景应为白色,文字清晰可见 |
| 实际结果 | ✅ 描述清楚 | 背景变为深灰色,文字看不清 |
| 分类信息 | ✅ 完整 | 提供了平台、系统版本、HBuilderX版本、Vue版本等必要信息 |
2. 是否为有效 bug?
根据知识库内容,存在以下可能性:
-
暗黑模式影响:知识库中提到 iOS 上存在
@media (prefers-color-scheme: dark)不生效的问题,并推荐参考 hello-darkmode 插件。推测:小米14可能默认开启了暗黑模式,而 uni.showModal 未适配或未强制使用浅色主题,导致背景变深。
-
未设置背景色:知识库中
uni-popup组件说明指出,默认背景透明,若不主动设置background-color,在某些系统主题下可能表现异常。 -
系统主题切换未监听:若应用在登录后未监听主题变化,可能导致首次进入时主题状态不一致。
3. 是否为概念问题?
不是概念问题,属于平台兼容性问题,可能与小米14系统主题机制或 uni-app 对 Android 12+ 深色模式的适配有关。
4. 建议用户补充内容
为了进一步定位问题,请用户补充以下信息:
- 是否使用了暗黑模式(系统或应用内)?
- 是否手动设置了
uni.showModal的backgroundColor参数? - 是否使用了
uni.setBackgroundColor或App.vue中设置了全局背景色? - 是否使用了
uni-popup或其他自定义弹窗组件? - 是否可在其他小米机型或 Android 12 设备复现?
- 请提供一段最小可复现代码(如登录后调用
uni.showModal的代码片段)。
5. 临时建议
在问题未修复前,建议用户:
- 显式设置
uni.showModal的backgroundColor为白色:uni.showModal({ title: '提示', content: '登录成功', backgroundColor: '#ffffff' }) - 或在
App.vue中强制设置全局背景色:uni.setBackgroundColor({ backgroundColor: '#ffffff' })
结论
该反馈基本成立,但由于缺少代码和主题相关上下文,建议用户补充上述信息后再进一步定位。我们将持续关注小米14 + Android 12 下的主题适配问题。