0

使用带有反应本机的选项卡导航器的页面标题具有页眉的最佳方法是什么?我知道有一种方法可以将 TabNavigator 包装在 StackNavigator 中,但我不明白如何使用不同类中的不同组件来做到这一点......

这就是我设置 TabNavigator 的方法:

App.js 内部:

export default createBottomTabNavigator(
{
  Activity: Activity,
  Front: Front
},
{
  navigationOptions: ({ navigation }) => ({
    tabBarIcon: ({ focused, horizontal, tintColor }) => {
      const { routeName } = navigation.state;
      let iconName;
      if (routeName === 'Activity') {
        iconName = `ios-information-circle${focused ? '' : '-outline'}`;
      } else if (routeName === 'Front') {
        iconName = `ios-cog`;
      }
      return <Ionicons name={iconName} size={horizontal ? 20 : 25} color={tintColor} />;
  },
}),
tabBarOptions: {
  activeTintColor: 'tomato',
  inactiveTintColor: 'gray',
},
});
4

1 回答 1

2

每个选项卡都可以是 StackNavigator,例如:

const activityStackNavigator = createStackNavigator({
  Activity: {
    screen: Activity,
    navigationOption: {
      headerTitle: 'Some title...'
    }
  }
})

然后在您的 TabNavigator 中,只需使用您刚刚创建的 StackNavigator 作为屏幕:

export default createBottomTabNavigator(
  {
    Activity: activityStackNavigator,
    Front: Front
  },
  ...
}

这是 React-Navigation 文档中的一些内容

于 2018-10-29T20:34:48.040 回答