我能够使用以下配置创建类似的样式:
export const Tabs = TabNavigator({
Profile: {
screen: ProfileStack,
navigationOptions: {
title: 'Profile',
tabBarLabel: 'Profile',
tabBarIcon: ({tintColor}) => <Icon name="ios-settings-outline"
type="ionicon" size={33} color={tintColor}/>
}
},
Charities: {
screen: Charities,
navigationOptions: {
title: 'Browse',
tabBarLabel: 'Browse',
tabBarIcon: ({tintColor}) =>
<View style={{
height: 80,
width: 80,
borderRadius: 100,
backgroundColor: '#FE6D64',
paddingTop: 15}}>
<Icon name="ios-heart-outline" type="ionicon" size={45}
color{tintColor}/>
</View>
}
},
Account: {
screen: AccountStack,
navigationOptions: {
title: 'Account',
tabBarLabel: 'Account',
tabBarIcon: ({tintColor}) => <Icon name="connectdevelop" type="font-
awesome" size={25} color={tintColor}/>
}
}
}, {
tabBarOptions: {
activeTintColor: '#84E1BF',
inactiveTintColor: 'white',
labelStyle: {
fontSize: 12
},
style: {
backgroundColor: '#283940'
},
showLabel: false
}
});
Charities 选项卡延伸到选项卡栏之外,因为 tabBarIcon 被包裹在一个高度大于选项卡栏高度的 View 组件中。然后使用borderRadius:100 制作圆形。
可能有更好的方法来做到这一点,但这非常简单。
标签栏图像