用react-navigation 如何实现 tabBar 上的icon颜色随tintColor变化

微信等大部分app的tabBar上面的小图标都是点中的以深色显示,未点中的以浅色显示,这次结合react-native-vector-icons实现了这个目标。

const MainScreenNavigator = TabNavigator({
        Home: {screen: HomeScreen},
        Inform: {screen: InformScreen},
        scoreRate: {screen: scoreRateNavigator},
        Faq: {screen: FaqScreen}
    },
    {
        tabBarOptions: {
            activeTintColor: '#3b5998',
            inactiveTintColor: '#cccccc'
        },
    }); 
 static navigationOptions = {
        tabBar: {
            label: 'Home',
            icon: (obj) => (
                
            )
        }

一开始怎么调都是下图这样,icon颜色不变。

用react-navigation 如何实现 tabBar 上的icon颜色随tintColor变化_第1张图片
Paste_Image.png

原因是没看到文档这句话
tabBarIcon

React Element or a function that given { focused: boolean, tintColor: string }
returns a React.Element, to display in tab bar
意思是icon 传递的参数有focused 和 tintColor两个属性,加上去就行了。

用react-navigation 如何实现 tabBar 上的icon颜色随tintColor变化_第2张图片
Paste_Image.png

用react-navigation 如何实现 tabBar 上的icon颜色随tintColor变化_第3张图片
Paste_Image.png

另:如果用image的话写成

image = obj.focused ? require('./1/png') : require('./2.png');
return 

你可能感兴趣的:(用react-navigation 如何实现 tabBar 上的icon颜色随tintColor变化)