'use strict';
import React, {Component} from "react";
import {
View,
Image,
StyleSheet,
} from "react-native";
import TabNavigator from "react-native-tab-navigator";
import HomeVC from "./Home/HomeVC";
import MineVC from "./Mine/MineVC";
import ForumVC from "./Forum/ForumVC";
import ExploreVC from "./Explore/ExploreVC";
const HomeTag = "首页";
const HomeIconNormal = require('../images/home_26x26_.png');
const HomeIconSelected = require('../images/homePress_26x26_.png');
const ForumTag = "论坛";
const ForumIconNormal = require('../images/forum.png');
const ForumIconSelected = require('../images/forum.png');
const ExploreTag = "发现";
const ExploreIconNormal = require('../images/explore_26x26_.png');
const ExploreIconSelected = require('../images/explore_26x26_.png');
const MineTag = "我的";
const MineIconNormal = require('../images/profile_26x26_.png');
const MineIconSelected = require('../images/profilePress_26x26_.png');
export default class App extends React.Component {
//初始化状态
constructor(props){
super(props);
this.state = {
selectedTab: HomeTag
}
}
//布局视图
render () {
return (
//页面根视图
<View style={styles.container}>
{/* 添加导航栏*/}
<TabNavigator style={styles.tabNav}>
{/* 添加首页标签*/}
{this._returnTabbarItems(HomeTag, HomeIconNormal, HomeIconSelected, HomeVC)}
{/* 添加论坛标签*/}
{this._returnTabbarItems(ForumTag, ForumIconNormal, ForumIconSelected, ForumVC)}
{/* 添加发现标签*/}
{this._returnTabbarItems(ExploreTag, ExploreIconNormal, ExploreIconSelected, ExploreVC)}
{/* 添加我的标签*/}
{this._returnTabbarItems(MineTag, MineIconNormal, MineIconSelected, MineVC)}
</TabNavigator>
</View>
)
}
//创建标签选项
_returnTabbarItems(selectedTab, icon, selectedIcon, Component) {
return (
<TabNavigator.Item
title = {selectedTab}
renderIcon = {() => <Image source={icon}/>}
//renderSelectedIcon = {() => <Image source={selectedIcon}/>}
selected = {this.state.selectedTab === selectedTab}
onPress = {() => this.setState({selectedTab:selectedTab})}
>
<Component/>
</TabNavigator.Item>
)
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
},
tabNav: {
//height:49,
//backgroundColor:"green",
},
});
react-native-tab-navigator 使用
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 切换页面是app最基本功能。这个功能需要用Navigation组件实现。RN发展太快了(v49),之前自带的Nav...
- 要做的效果很简单,如下图所示: 使用基本教程 1.引入组件 Github上的地址 2.render方法中返回: 引...
- 前提 本人入坑RN的时候, RN已经是0.46版本了. 按照RN中文网上的提示,今年年初(0.44版本)以后的RN...
- react-native-scrollable-tab-view是一个滑动tab组件,可在tab之间进行切换显示内...