RNMain.tsx 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. import React from 'react';
  2. import { NavigationContainer } from '@react-navigation/native';
  3. import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
  4. import { createStackNavigator } from '@react-navigation/stack';
  5. import Clock from '../clock/Clock'
  6. import Metric from '../metric/Metric'
  7. import Activity from '../activity/Activity'
  8. import Profile from '../account/Profile'
  9. import ChooseAuth from '@/pages/account/ChooseAuth'
  10. import { View } from '@tarojs/components';
  11. // 创建底部 Tab 导航器
  12. const Tab = createBottomTabNavigator();
  13. // 创建堆栈导航器
  14. const Stack = createStackNavigator();
  15. /*
  16. // 创建 A 页面的堆栈导航器
  17. const AStack = () => {
  18. return (
  19. <Stack.Navigator>
  20. <Stack.Screen name="A" component={AScreen} />
  21. <Stack.Screen name="C" component={CScreen} options={{ tabBarVisible: true }} />
  22. </Stack.Navigator>
  23. );
  24. };
  25. // 创建 B 页面的堆栈导航器
  26. const BStack = () => {
  27. return (
  28. <Stack.Navigator>
  29. <Stack.Screen name="B" component={BScreen} />
  30. <Stack.Screen name="D" component={DScreen} options={{ tabBarVisible: false }} />
  31. </Stack.Navigator>
  32. );
  33. };
  34. const App: React.FC = () => {
  35. return (
  36. <NavigationContainer>
  37. <Tab.Navigator>
  38. <Tab.Screen name="A" component={AStack} />
  39. <Tab.Screen name="B" component={BStack} />
  40. </Tab.Navigator>
  41. </NavigationContainer>
  42. );
  43. };
  44. */
  45. export default function RNMain() {
  46. function tabNavigator() {
  47. return (
  48. <Tab.Navigator screenOptions={({ route }) => ({
  49. headerStyle: {
  50. backgroundColor: 'black',
  51. borderBottomWidth: 0, // 隐藏导航条底部边框
  52. },
  53. headerTintColor: 'white',
  54. tabBarStyle: { backgroundColor: 'black' }, // tabbar的背景色
  55. tabBarActiveTintColor: 'white', // 活动标签的颜色
  56. tabBarInactiveTintColor: 'gray', // 非活动标签的颜色
  57. })}>
  58. <Tab.Screen name="Clock" component={Clock} />
  59. <Tab.Screen name="Metric" component={Metric} />
  60. <Tab.Screen name="Activity" component={Activity} />
  61. <Tab.Screen name="Profile" component={Profile} />
  62. </Tab.Navigator>
  63. )
  64. }
  65. return (
  66. <NavigationContainer theme={{
  67. dark: false,
  68. colors: {
  69. text: 'white',
  70. primary: 'white',
  71. card: 'white',
  72. border: 'transparent',
  73. background: 'black',
  74. notification: 'red'
  75. }
  76. }}>
  77. <Stack.Navigator screenOptions={({ route }) => ({
  78. headerStyle: {
  79. backgroundColor: 'black',
  80. borderBottomWidth: 0, // 隐藏导航条底部边框
  81. borderBottomColor:'red'
  82. },
  83. headerTintColor: 'white',
  84. tabBarStyle: { backgroundColor: 'black' }, // tabbar的背景色
  85. tabBarActiveTintColor: 'white', // 活动标签的颜色
  86. tabBarInactiveTintColor: 'gray', // 非活动标签的颜色
  87. })}>
  88. <Stack.Screen name='Main' component={tabNavigator} options={{ headerShown: false }}/>
  89. <Stack.Screen name='ChooseAuth' component={ChooseAuth} />
  90. </Stack.Navigator>
  91. </NavigationContainer>
  92. )
  93. }