React Native Top Tab Navigator
(createMaterialTopTabNavigator)

2025年3月17日 | 阅读 3 分钟

material 样式的 createMaterialTopTabNavigator 用于在屏幕顶部创建 tab navigator。 它提供了创建和显示多个屏幕路由器的功能。 这些屏幕通过点击路由或水平滑动在彼此之间切换。 Tab 屏幕组件在获得焦点时被挂载。

react-navigation 库的 createMaterialTopTabNavigator 函数方便我们实现 top tab navigator。

React Native Top Tab Navigator 示例

让我们创建一个带有自定义状态栏和标题部分的 top tab navigator。 在这个例子中,我们将为 "Home"、"Profile" 和 "Settings" 路由器创建三个不同的屏幕。 每个路由器屏幕都在单独的文件中创建。

React Native Top Tab Navigator

应用程序的目录结构

在您的路由项目中创建一个 src 目录。 在 src 目录中,创建 index.js 文件和另外两个目录 libscreens。 在 screens 目录中,我们放置三个屏幕文件 index.js (HomeScreen), profile.js (ProfileScreen), 和 settings.js (SettingsScreen)。 在 lib 目录中,我们实现 createMaterialTopTabNavigator 以创建 top tab navigator。

React Native Top Tab Navigator

topNavigation/index.js

topNavigation/index.js 文件中进行一些更改(将 './App' 替换为 './src')。

创建类并从 'react-native-vector-icons/Ionicons' 包中导入 Icon。 实现 tabBarIcon 并在其中添加 Icon 标签。

src/screens/index.js

src/screens/profile.js

src/screens/settings.js

src/lib/router.js

在 router.js 文件中,导入 'react-navigation' 库的 createMaterialTopTabNavigatorcreateAppContainer 函数。 还要导入所有路由器类,并将它们按照我们想要在 tab navigator 顶部显示的顺序放置。

  • activeTintColor: 将提及的颜色设置为活动路由器。
  • showIcon: 显示 {true} 和隐藏 {false} 路由器的图标。
  • showLabel: 显示 {true} 和隐藏 {false} 路由器的标题。 默认情况下为 true。

src/index.js

从 './lib/router' 导入 AppNavigator,并将 AppNavigator 分配给此文件中的 const AppIndex。 使用 StatusBar 标签自定义状态栏,并在 tab navigator 的顶部添加标题。

输出

React Native Top Tab Navigator