首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我如何改变应用的主题与反应-本机外观和useColorScheme?

我如何改变应用的主题与反应-本机外观和useColorScheme?
EN

Stack Overflow用户
提问于 2022-09-14 08:15:14
回答 1查看 361关注 0票数 0

因此,我试图改变配色方案使用外观或useColorScheme,但我只能得到当前的主题。怎么改呢?

EN

回答 1

Stack Overflow用户

发布于 2022-09-14 08:30:42

您可以通过创建一个类似于customHook的

代码语言:javascript
运行
复制
// hooks/useThemeColors.ts
import { useColorScheme } from 'react-native';

const Colors = {
  light: {
    background: "white",
    text: "black",
  },
  dark: {
    background: "black",
    text: "white",
  },
}

const useThemeColors = () => {
  const colorScheme = useColorScheme()
  const colors = Colors[colorScheme]

  return colors
}

export default useThemeColors

现在像这样在你的作品中使用它

从“from”导入(视图、文本、ViewStyle、TextStyle、StyleSheet }从“React -本机”导入react

从"hooks/ useThemeColors“导入useThemeColors

代码语言:javascript
运行
复制
const App = () => {
  const colors = useThemeColors()

  const viewStyles: ViewStyle[] = [
    styles.container,
    { backgroundColor: colors.background },
  ]
  const textStyles: TextStyle[] = [styles.text, { color: colors.text }]

  return (
    <View style={viewStyles}>
      <Text style={textStyles}>Hello, world!</Text>
    </View>
  )
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: "center",
    alignItems: "center",
  },
  text: {
    fontWeight: "bold",
    fontSize: 20,
  },
})

export default App

希望能帮上忙。有疑问就放心吧

全归功于https://www.reactnativeschool.com/how-to-detect-user-color-preference-in-react-native

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73713606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档