如何禁用手机颜色反转设置对Expo应用的颜色影响?
禁用系统反转颜色对Expo应用的影响
iOS 端实现
- 直接在项目的
app.json(或app.config.js)里添加iOS配置,固定应用的界面风格,彻底不受系统反转颜色影响:
{ "expo": { "ios": { "infoPlist": { "UIUserInterfaceStyle": "Light" // 也可以设为"Dark",按需选择 } } } }
- 要是需要动态控制应用主题,用Expo的
AppearanceAPI强制指定颜色模式,无视系统反转:
import { Appearance } from 'react-native'; // 强制锁定浅色模式 Appearance.setColorScheme('light');
Android 端实现
- 在
app.json(或app.config.js)里配置Android主题,禁用系统强制深色/反转效果:
{ "expo": { "android": { "theme": "@style/Theme.App.Light" } } }
- 如果用EAS Build,还可以修改原生配置文件
android/app/src/main/res/values/styles.xml,添加属性阻止系统反转:
<style name="Theme.App.Light" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:forceDarkAllowed">false</item> </style>
额外提示
- 要是你想自己做应用内的主题切换,别依赖系统的反转颜色功能,自己实现一套主题逻辑更稳妥。
- 配置完一定要开着系统反转颜色测试,确认效果符合预期。
内容的提问来源于stack exchange,提问作者hand code 2
相关产品推荐
相关产品推荐

