我正在使用react-navigation v2并对原生矢量图标做出反应。
我正在尝试在反应原生标签导航器中添加图标。
如果图标不在标签导航器中,则会显示该图标。图标未显示在选项卡导航器中,我找不到如何在选项卡导航器中添加图标的实例。
import React, { Component } from 'react';
import { StyleSheet, Text, View } from 'react-native';
import { createMaterialTopTabNavigator } from 'react-navigation'
import Home from '../HomePage.js'
import Profile s from '../ProfilePage.js'
import Icon from 'react-native-vector-icons/FontAwesome';
export const Tabs = createMaterialTopTabNavigator(
{
HomePage: {
screen: Home,
navigationOptions: {
tabBarLabel:"Home Page",
tabBarIcon: ({ tintColor }) => (
<Icon name="home" size={30} color="#900" />
)
},
},
ProfilePage: {
screen: Profile,
navigationOptions: {
tabBarLabel:"Profile Page",
tabBarIcon: ({ tintColor }) => (
<Icon name="users" size={30} color="#900" />
)
}
},
},
{
order: ['HomePage', 'ProfilePage'],
tabBarOptions: {
activeTintColor: '#D4AF37',
inactiveTintColor: 'gray',
style: {
backgroundColor: 'white',
}
},
},
)
答案 0 :(得分:4)
想出来必须添加
tabBarOptions: {
showIcon: true
},
此后图标显示。
答案 1 :(得分:4)
这对我有用,无需启用showIcon:true
。
我正在使用Ionicons
图标包。
HomeScreen:{
screen:HomeScreen,
navigationOptions: {
tabBarLabel:"Home",
tabBarIcon: ({ tintColor }) => (
<Icon name="ios-bookmarks" size={20}/>
)
},
},
答案 2 :(得分:0)
设置activeTintColor也可以解决问题。
tabBarOptions: {
activeTintColor: '#e91e63'
}
答案 3 :(得分:0)
您也可以在 Tab.Screen 的帮助下简单地添加它
首先从expo导入图标
import { Ionicons } from '@expo/vector-icons';
或从此处选择任何图标:https://icons.expo.fyi/
然后像这样使用
<Tab.Screen
name="Feed"
component={Feed}
options={{
tabBarLabel: 'Home',
tabBarIcon: ({ color, size }) => (
<Ionicons name="home" color={color} size={size} />
),
}}
/>