7

如何隐藏标签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它会显示选项卡(HomeSearch)的名称。我只想显示图标并更改活动的颜色iconactiveTintColor不适用于图标。

4

2 回答 2

10

TabNavigatorshowLabel可以设置的道具。有关更多信息,请参阅v1文档或v2 文档

showIcon - 是否显示选项卡的图标,默认为 false

showLabel - 是否显示标签的标签,默认为 true

于 2017-10-16T12:26:32.623 回答
8

这是一个显示不带标签的图标的示例。

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}} />
    )
  }
},
于 2017-10-16T12:40:24.920 回答