廓形仪rn版本-技术调研
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
1.3 KiB

  1. import { DarkTheme, DefaultTheme, ThemeProvider } from '@react-navigation/native';
  2. import '@/global.css';
  3. import { GluestackUIProvider } from '@/components/ui/gluestack-ui-provider';
  4. import { useFonts } from 'expo-font';
  5. import { Stack } from 'expo-router';
  6. import * as SplashScreen from 'expo-splash-screen';
  7. import { StatusBar } from 'expo-status-bar';
  8. import { useEffect } from 'react';
  9. import 'react-native-reanimated';
  10. import { PaperProvider } from 'react-native-paper';
  11. import { useColorScheme } from '@/hooks/useColorScheme';
  12. // Prevent the splash screen from auto-hiding before asset loading is complete.
  13. SplashScreen.preventAutoHideAsync();
  14. export default function RootLayout() {
  15. const colorScheme = useColorScheme();
  16. const [loaded] = useFonts({
  17. SpaceMono: require('../assets/fonts/SpaceMono-Regular.ttf'),
  18. });
  19. useEffect(() => {
  20. if (loaded) {
  21. SplashScreen.hideAsync();
  22. }
  23. }, [loaded]);
  24. if (!loaded) {
  25. return null;
  26. }
  27. return (
  28. <GluestackUIProvider mode="light">
  29. <PaperProvider>
  30. <Stack>
  31. <Stack.Screen name="(tabs)" options={{ headerShown: false }} />
  32. <Stack.Screen name="+not-found" />
  33. </Stack>
  34. <StatusBar style="auto" />
  35. </PaperProvider>
  36. </GluestackUIProvider>
  37. );
  38. }