Header 使用 TabNavigation 响应式导航
Header with TabNavigation React Navigation
让 header 带有标签导航器和 React Native 的页面标题的最佳方法是什么?我知道有一种方法可以将 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',
},
});
每个选项卡都可以是一个 StackNavigator,例如:
const activityStackNavigator = createStackNavigator({
Activity: {
screen: Activity,
navigationOption: {
headerTitle: 'Some title...'
}
}
})
然后在您的 TabNavigator 中使用刚刚创建的 StackNavigator 作为屏幕:
export default createBottomTabNavigator(
{
Activity: activityStackNavigator,
Front: Front
},
...
}
这里有一些 read 来自 React-Navigation 文档。
让 header 带有标签导航器和 React Native 的页面标题的最佳方法是什么?我知道有一种方法可以将 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',
},
});
每个选项卡都可以是一个 StackNavigator,例如:
const activityStackNavigator = createStackNavigator({
Activity: {
screen: Activity,
navigationOption: {
headerTitle: 'Some title...'
}
}
})
然后在您的 TabNavigator 中使用刚刚创建的 StackNavigator 作为屏幕:
export default createBottomTabNavigator(
{
Activity: activityStackNavigator,
Front: Front
},
...
}
这里有一些 read 来自 React-Navigation 文档。