ReactNative 暗黑模式下页面跳转时闪白/闪烁
当前使用expo 52,仍有这个问题
与https://github.com/expo/expo/issues/27099问题一致
原因可能是RN其实不是很native,有一个加载过程
有效的解决办法
使用Expo SystemUI,文档
npx expo install expo-system-ui
//_layout.tsx
import { useColorScheme } from '@/hooks/useColorScheme';
import * as SystemUI from 'expo-system-ui';
export default function RootLayout() { //添加到根视图
const colorScheme = useColorScheme();
if(colorScheme == 'dark'){
SystemUI.setBackgroundColorAsync("black"); //可以设置为更合适的主题色
}else{
SystemUI.setBackgroundColorAsync("white");
}
根据当前颜色模式自动设置整个应用的背景色,至少不会闪烁
评论