在react native中,是否有办法知道设备模式是暗还是亮

vcudknz3  于 2022-12-19  发布在  React
关注(0)|答案(2)|浏览(161)

我想改变应用程序的颜色模式的设备,无论是黑暗或光明。
但我不知道如何检查我的设备是在黑暗模式或在光明模式。
请给点建议。

4xrmg8kj

4xrmg8kj1#

您可以使用Appearance模块完成此操作,方法是

import { Appearance } from 'react-native';

const colorScheme = Appearance.getColorScheme();
if (colorScheme === 'dark') {
  // Use dark color scheme
}

您还可以通过添加侦听器来检查用户是否更改了这些设置,如下所示:

static addChangeListener(listener)

查找here以获取文档。

piztneat

piztneat2#

使用React Native中的useColorScheme钩子来检查设备的配色方案。此钩子将返回“dark”或“light”,具体取决于设备当前的配色方案。
下面是如何在代码中使用它的示例:

import { useColorScheme } from 'react-native';

function MyComponent() {
  const colorScheme = useColorScheme();

  if (colorScheme === 'dark') {
    // Do something for dark mode
  } else {
    // Do something for light mode
  }
}

这样,您就可以检测设备当前是处于黑暗模式还是明亮模式,并相应地更改应用的行为。请记住,此功能仅适用于运行iOS 13或更高版本、Android 10或更高版本的设备。
注意:目前由于技术限制,当Chrome调试器启用时,此钩子将始终返回“light”。
在官方文件里查一下。
https://reactnative.dev/docs/usecolorscheme

相关问题