ReactNative——导航器createBottomTabNavigator(底部标签导航器篇)
import React from 'react';
import { View, Text, Image } from 'react-native';
import { createBottomTabNavigator } from 'react-navigation';
// 自定义的导航栏图标组件
const MyHomeIcon = ({ tintColor, ...props }) => (
<Image
source={require('./images/home.png')}
style={[{ tintColor: tintColor, width: 24, height: 24 }, props.style]}
/>
);
// 自定义的导航栏标签头部组件
const MyTabBarHeader = ({ title }) => (
<View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
<Text style={{ color: 'blue', fontSize: 18 }}>{title}</Text>
</View>
);
// 导航器配置
const TabNavigatorConfig = {
tabBarOptions: {
activeTintColor: 'tomato', // 激活标签的颜色
inactiveTintColor: 'gray', // 未激活标签的颜色
showIcon: true, // 是否显示图标
showLabel: true, // 是否显示标签
style: {
height: 50, // 底部标签栏的高度
backgroundColor: 'white', // 底部标签栏的背景颜色
},
labelStyle: {
fontSize: 12, // 文本的字体大小
},
},
defaultNavigationOptions: {
tabBarIcon: ({ focused, tintColor }) => (
<MyHomeIcon focused={focused} tintColor={tintColor} />
),
tabBarLabel: ({ focused, routeName }) => (
<MyTabBarHeader title={routeName === 'Home' ? '首页' : '其他'} />
),
},
};
// 导航器定义
const TabNavigator = createBottomTabNavigator({
Home: {
screen: HomeScreen,
navigationOptions: {
tabBarIcon: ({ tintColor }) => (
<MyHomeIcon tintColor={tintColor} />
),
tabBarLabel: '首页',
},
},
// 其他屏幕定义...
}, TabNavigatorConfig);
export default TabNavigator;
这个代码实例展示了如何在React Native中使用createBottomTabNavigator
来创建一个底部标签导航器,并自定义了图标和标签头部的组件。同时,它也演示了如何通过TabNavigatorConfig
来设置全局的导航器配置,包括标签栏的样式和颜色。
评论已关闭