标题我设置为黑色但是在深色模式下呈现白色
进度条组件和开关组件我设置为白色,深色模式下自动变黑色
麻烦问一下这个应该怎么处理
在 uniapp 安卓应用中处理深色模式问题,需手动控制组件颜色避免系统自动适配:
标题颜色问题
通过 uni.setNavigationBarColor 动态设置导航栏颜色:
onReady() {
const { theme } = uni.getSystemInfoSync();
uni.setNavigationBarColor({
frontColor: theme === 'dark' ? '#ffffff' : '#000000',
backgroundColor: theme === 'dark' ? '#000000' : '#ffffff'
});
}
参考文档:导航栏颜色设置
进度条/开关组件变黑问题
activeColor 和 backgroundColor 属性(避免使用系统默认色)
<uni-progress :activeColor="'#ffffff'" :backgroundColor="'#333333'" /> selectedColor 和 selectedTextColor 强制指定颜色
<uni-data-checkbox
v-model="value"
:selectedColor="'#ffffff'"
:selectedTextColor="'#000000'"
/>
全局适配建议
manifest.json 中关闭自动深色模式:"darkmode": "light" @media (prefers-color-scheme: dark) {
.custom-component { color: #fff !important; }
} 关键点:安卓深色模式下部分组件会继承系统主题色,需通过显式属性设置或 CSS 强制覆盖。注意 Android 对背景色有特殊限制(黑色需 > rgb(30,30,30))。