如何隐藏TabNavigator
中的标签并仅显示icons
?如果我执行以下操作:
const Tabs = TabNavigator({
Home: {
screen:MainHome,
navigationOptions: ({ navigation }) => ({
title: "Home", //Tried to hide this for next tab Search.
tabBarIcon: ({ tintColor, focused }) => <View><MaterialIcons name="home"/></View>
})
},
Search: {
screen:TestComp1,
navigationOptions: ({ navigation }) => ({
//If no title it shows the name as Search.
tabBarIcon: ({ tintColor, focused }) => <View><MaterialIcons name="accessibility"/></View>
})
}
}, {
tabBarPosition: 'bottom',
tabBarOptions: {
showIcon: true,
activeTintColor: '#e91e63', //Not working for icons.
inactiveBackgroundColor: 'green', // Not working at all.
style: {backgroundColor: '#3498DB', height: 60, padding:0, margin:0}
}
});
如果我从title
移除navigationOptions
,则会显示标签的名称(Home
或Search
)。我只想显示图标并更改活动icon
的颜色。 activeTintColor
没有为图标工作。
答案 0 :(得分:6)
showLabel
有{{1}}道具,您可以设置。有关详细信息,请参阅docs for v1或docs for v2。
showIcon - 是否显示标签图标,默认为false
showLabel - 是否为标签显示标签,默认为true
答案 1 :(得分:5)
以下是显示没有标签的图标的示例。
tabBarOptions: {
showLabel: false,
showIcon: true,
tintColor: '#333',
activeTintColor: '#aaa',
}
我定义了tintColor和activeTintColor来更改活动标签的标签颜色。要更改活动标签的图标颜色,您需要为每个标签定义tabBarIcon并将tintColor传递给它。例如,如果您有搜索选项卡,则可以这样执行:
Search: {
screen: SearchScreen,
navigationOptions:{
tabBarIcon: ({ tintColor }) => (
<Icon name="ios-search" style={{color:tintColor}} />
)
}
},