import TabNavigator from 'react-native-tab-navigator';
render() {
return (
<View style={styles.container} >
<TabNavigator>
<TabNavigator.Item
selected={this.state.selectedTab === '首页'}
title="首页"
titleStyle={styles.tabText}
selectedTitleStyle={styles.selectedTabText}
renderIcon={() => <Image style={styles.icon} source={require("/images/ic_home_normal.png")} />}
renderSelectedIcon={() => <Image style={styles.icon} source={require("/images/ic_home_checked.png")} />}
onPress={() => this.setState({ selectedTab: '首页' })}>
<HomeComponent/>
</TabNavigator.Item>
<TabNavigator.Item
selected={this.state.selectedTab === '消息'}
title="消息"
titleStyle={styles.tabText}
selectedTitleStyle={styles.selectedTabText}
renderIcon={() => <Image style={styles.icon} source={require("/images/ic_message_normal.png")} />}
renderSelectedIcon={() => <Image style={styles.icon} source={require("/images/ic_message_checked.png")} />}
onPress={() => this.setState({ selectedTab: '消息' })}>
<MessageComponent />
</TabNavigator.Item>
<TabNavigator.Item
selected={this.state.selectedTab === '联系人'}
title="联系人"
titleStyle={styles.tabText}
selectedTitleStyle={styles.selectedTabText}
renderIcon={() => <Image style={styles.icon} source={require("/images/ic_contacts_normal.png")} />}
renderSelectedIcon={() => <Image style={styles.icon} source={require("/images/ic_contacts_checked.png")} />}
onPress={() => this.setState({ selectedTab: '联系人' })}>
<ContactComponent />
</TabNavigator.Item>
</TabNavigator>
</View>
);
}
其中可以自定义选中与未选中text和图标的样式,是不是很方便。
HomeComponent, MessageComponent,ContactComponent为子页面,也要先import
5. styles:
let styles = StyleSheet.create({
container: {
flex: 1
},
tabText: {
color: "#000000",
fontSize: 13
},
selectedTabText: {
color: "#999999",
fontSize: 13
},
icon: {
width: 20,
height: 20
}
});
这样就大功告成了