react-native - 在 Bare React Native 项目中启用深色主题
问题描述
如果您使用 expo 制作项目,app.json
文件中有一个选项, userInterfaceStyle: "dark"
可以为项目启用暗模式。如何在一个裸 React Native 项目中实现这一点?在 React Native 的文档中,他们提到了useColorScheme()
钩子的使用,但我不明白如何在我的项目中使用钩子来实现黑暗主题。
解决方案
配色方案是检查设备的当前主题。
const Colors = () => {
const isDark = useColorScheme() == 'dark';
return {
background:isDark ? 'black':'white',
text:isDark ? 'white':'black'
}
}
export default Colors;
例子
import Colors from './Colors';
const Home = ()=>{
const colors = Colors();
return (
<View style={{flex:1,backgroundColor:colors.background}}>
<Text style={{color:colors.text}}>hello world</Text>
</View>
)
}
推荐阅读
- javascript - discord.js 大写和小写嵌入消息不起作用
- arrays - How to query array list data from mongodb?
- python - 如何在从 main.py 添加的 OneLineAvatarIconListItem 上添加 on_press 函数??(python 和 kivymd)
- vue.js - 如何在 v-combobox 的 v-menu__content 上设置类
- django - 类型错误:create_user() 缺少 3 个必需的位置参数(当 createsuperuser 时)
- c# - 不同时区的相对时间如何?
- c++ - 我不知道如何解释,但是当我以字符形式执行某些内容时,它以数字形式出现
- windows - 成功后动态改变 EndDialog 中的 RTF 内容
- java - 在 Cucumber-BDD Java 中,如何一次找出所有 CLASHING 步骤定义?(不在功能文件中使用它们)
- powershell - 如何使用 powershell 脚本将 makefile 变量(CC、CFLAGS 等)设置为终端或 cmd?