react native 使用TabNavigator编写APP底部导航
2024-10-19 00:24:04
第一步,下载依赖
npm install react-native-tab-navigator --save
第二步,引入
import TabNavigator from 'react-native-tab-navigator';
第三步,使用
<TabNavigator>
<TabNavigator.Item
selected={this.state.selectedTab === '首页'}
title="首页"
titleStyle={styles.tabText}
selectedTitleStyle={styles.selectedTabText}
renderIcon={() => <Image style={styles.icon} source={require("./images/home165.png")} />}
renderSelectedIcon={() => <Image style={styles.icon} source={require("./images/home165.png")} />}
onPress={() => this.setState({ selectedTab: '首页' })}>
<App/>
</TabNavigator.Item>
<TabNavigator.Item
selected={this.state.selectedTab === '我的'}
title="我的"
titleStyle={styles.tabText}
selectedTitleStyle={styles.selectedTabText}
renderIcon={() => <Image style={styles.icon} source={require("./images/twitter.png")} />}
renderSelectedIcon={() => <Image style={styles.icon} source={require("./images/twitter.png")} />}
onPress={() => this.setState({ selectedTab: '我的' })}>
<BlackHole/>
</TabNavigator.Item>
</TabNavigator>
注意:选中和默认的图片这里为了方便我使用的是同一张图片
然后执行react-native run-android 若看到如下界面说明你编写成功了,若没有成功,可以留言一起讨论
如下是完整代码
/**
* Sample React Native App
* https://github.com/facebook/react-native
* @flow
*/ import React, { Component } from 'react';
import {
StyleSheet,
Text,
View,
Image
} from 'react-native';
import TabNavigator from 'react-native-tab-navigator';
import App from './layouts/main/App';//需要你自行建立编写js
import BlackHole from './layouts/accout/BlackHole';//需要你自行建立编写js
export default class Index extends Component {
constructor(){
super();
this.state = {
selectedTab: '首页',
}
}
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/home165.png")} />}
renderSelectedIcon={() => <Image style={styles.icon} source={require("./images/home165.png")} />}
onPress={() => this.setState({ selectedTab: '首页' })}>
<App/>
</TabNavigator.Item>
<TabNavigator.Item
selected={this.state.selectedTab === '我的'}
title="我的"
titleStyle={styles.tabText}
selectedTitleStyle={styles.selectedTabText}
renderIcon={() => <Image style={styles.icon} source={require("./images/twitter.png")} />}
renderSelectedIcon={() => <Image style={styles.icon} source={require("./images/twitter.png")} />}
onPress={() => this.setState({ selectedTab: '我的' })}>
<BlackHole/>
</TabNavigator.Item>
</TabNavigator>
</View>
);
}
} const styles = StyleSheet.create({
container: {
flex: 1
},
tabText: {
color: "#666666",
fontSize: 13
},
selectedTabText: {
color: "#ff8a00",
fontSize: 13
},
icon: {
width: 25,
height: 25,
}
});
最新文章
- 将 instance 连接到 flat_net - 每天5分钟玩转 OpenStack(88)
- Javascript 面向对象编程(一):封装
- 剑指Offer面试题:23.二叉树中和为某一值的路径
- json和jsonp的区别,ajax和jsonp的区别
- 常用IDEA快捷键
- [转载]Grunt插件之LiveReload 实现页面自动刷新,所见即所得编辑
- EF6 CodeFirst 实践系列文章列表
- centos6.5 nginx开机启动
- 带有&#215;的EditText
- minitools
- SVN ignores
- c++在string类源
- javascript正则表达式小数类型
- 对于形式参数只能用final修饰符,其它任何修饰符都会引起编译器错误
- C++数组的初始化
- ssh框架 基本整合
- C语言中数组变量和指针变量
- Linux的is not in the sudoers file 解决
- Android:视频(VideoView/MediaPlayer)
- 十大经典排序算法-JS篇
热门文章
- iOS10原生的语音转文字功能
- hung_task_timeout_secs和blocked for more than 120 seconds的解决方法
- json序列化以及反序列化存在多个对象时候的处理
- browse-agent type and curl post
- OWA (Office Web Access)
- [skill][graphviz] 到底用什么画图: graphviz/inkscape/yed
- Calcite - StreamingSQL
- oracle查表技巧
- day5_递归调用
- ADO多线程数据库总结