网站首页 > 网络编程 > html 正文
首先看图:底部导航,每个按钮对应不同的页面,按钮激活状态和非激活状态可以设置按钮的颜色字体大小等。
运行后展示欢迎页面,若干秒后跳转到这个页面
思路:在index.js中指向 创建的 appNavigators 文件
这个文件导入两个页面,一个是欢迎页,一个是进入后的展示页
欢迎页用定时器,若干秒后跳转到展示页,展示页创建一个总的展示页,HomePage,
可以把他理解为路由,然后展示各个里面的页面。
操作:根目录创建 js 文件,里面放两个文件夹,navigator,page
index.js :
import {AppRegistry} from 'react-native'; import App from './App'; import {name as appName} from './app.json'; import 'react-native-gesture-handler'; import AppNavigators from './js/navigator/AppNavigators' AppRegistry.registerComponent(appName, () => AppNavigators);
NavigationUtil.js: 用来做跳转的工具
export default class NavigationUtil { static resetToHomePage(params) { const {navigation} = params; navigation.navigate('Main');//跳转到Main } }
AppNavigators.js:展示两个页面,并且取消头部展示
import {createAppContainer,createSwitchNavigator} from 'react-navigation'; import {createStackNavigator} from 'react-navigation-stack' import WelcomePage from '../page/WelcomePge' import HomePage from '../page/HomePage' const InitNavigator = createStackNavigator({ WelcomePage:{ screen:WelcomePage, navigationOptions:{ header:null, } } }); const MainNavigator = createStackNavigator({ HomePage:{ screen:HomePage, navigationOptions:{ header:null } } }); export default createAppContainer(createSwitchNavigator({ Init:InitNavigator, Main:MainNavigator },{ navigationOptions:{ header:null } }));
WelcomePage:做一个定时器展示后关闭定时器,调用util方法跳转到Main,也就是homepage页面
import React, {Component} from 'react'; import {Text, StyleSheet, View} from 'react-native'; import NavigationUtil from '../navigator/NavigationUtil'; export default class WelcomePage extends Component { componentDidMount() { this.timer = setTimeout(() => { NavigationUtil.resetToHomePage(this.props) }, 7000); } componentWillMount() { // this.timer && clearTimeout(this.timer); } render() { return ( <View style={styles.container}> <Text> WelcomePge12 </Text> </View> ); } } const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', }, });
Homepage:创建底部导航,导入各个页面,设置各种属性,比如名字和标签颜色 尺寸,封装成一个标签,最后展示这个标签就行
import React, {Component} from 'react'; import {Text, StyleSheet, View} from 'react-native'; import {createBottomTabNavigator} from 'react-navigation-tabs'; import {createAppContainer} from 'react-navigation'; //页面 import PapularPage from './PopularPage'; import TrendingPage from './TrendingPage'; import FavoritePage from './FavoritePage'; import MyPage from './MyPage'; //图标 import Ionicons from 'react-native-vector-icons/Ionicons' export default class HomePage extends Component { _tabNavigator(){ return createAppContainer(createBottomTabNavigator({ PapularPage:{ screen:PapularPage, navigationOptions:{ tabBarLabel:'最热', tabBarIcon:({tintColor,focused})=>( <Ionicons name={'home'} size={26} style={{color:tintColor}} /> ) } }, TrendingPage:{ screen:TrendingPage, navigationOptions:{ tabBarLabel:'趋势', tabBarIcon:({tintColor,focused})=>( <Ionicons name={'logo-ionic'} size={26} style={{color:tintColor}} /> ) } }, FavoritePage:{ screen:FavoritePage, navigationOptions:{ tabBarLabel:'收藏', tabBarIcon:({tintColor,focused})=>( <Ionicons name={'logo-ionitron'} size={26} style={{color:tintColor}} /> ) } }, MyPage:{ screen:MyPage, navigationOptions:{ tabBarLabel:({tintColor,focused})=>( <Text style={{color:focused?'green':'purple',fontSize:12,alignSelf:'center'}}>我的</Text> ), tabBarIcon:({tintColor,focused})=>( <Ionicons name={'md-logo-closed-captioning'} size={26} style={{color:focused?'green':'purple'}} /> ) } }, },{ tabBarOptions:{ activeTintColor:'orange', inactiveTintColor: 'gray', }, tabStyle:{ height:100 } })) } render() { const Tab=this._tabNavigator() return ( <Tab style={styles.bottomTabBar}/> ); } } const styles = StyleSheet.create({ bottomTabBar:{ height:50 }, container: { flex: 1, justifyContent: 'center', alignItems: 'center', backgroundColor: 'pink', }, welcome: { fontSize: 20, textAlign: 'center', margin: 10, }, });
其他页面,目前没写功能,就是展示
import React, {Component} from 'react'; import {Text, StyleSheet, View} from 'react-native'; export default class FavoritePage extends Component { render() { return ( <View style={styles.container}> <Text style={styles.welcome}> FavoritePage </Text> </View> ); } } const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', backgroundColor: 'pink', }, welcome: { fontSize: 20, textAlign: 'center', margin: 10, }, });
- 上一篇: react-native navigation安装适配
- 下一篇: 易语言学习
猜你喜欢
- 2022-06-27 Html常用单词(htmlcss常用单词)
- 2022-06-27 HTML基本标记的使用方法(html中的标记)
- 2022-06-27 超大型集群第六篇(HTTP协议)(http协议系列1)
- 2022-06-27 html常用代码大全(html的基本代码)
- 2022-06-27 HTML学习笔记(html教学)
- 2022-06-27 HTML个人笔记(html个人博客)
- 2022-06-27 1. 「Web前端开发」-1-什么是HTML(1+web前端初级)
- 2022-06-27 记录:学习html(一):概念(html笔记)
- 2022-06-27 HTML语言简介(html基本语言)
- 2022-06-27 HTML基础入门教程,web前端初学者速成必备(web前端怎么入门)
你 发表评论:
欢迎- 百度站内搜索
- 关注微信公众号
- 网站分类
-
- 网站公告
- 电子书书籍
- 程序员工具箱
- 编程工具
- 易语言相关
- 网络相关源码
- 图形图像源码
- 系统工具源码
- 易语言模块源码
- 易语言支持库
- 数据库类源码
- 易语言例程
- 易语言游戏开发
- 易语言模块
- 多媒体类源码
- 易语言资源网
- 易语言视频教程
- JS分析教程
- 易语言图文教程
- 易语言常见问题及笔记
- 工具源码
- 易语言版本
- 网络编程
- javascript
- PHP编程
- html
- 正则表达式
- 面试题
- nodejs
- 其它综合
- 脚本专栏
- python
- 按键精灵相关
- 按键精灵图文教程
- 按键精灵视频教程
- 按键精灵Q语言
- 按键精灵安卓版
- golang
- 游戏安全
- 火山相关
- 火山安卓软件
- 火山常见问题及笔记
- 火山安卓源码
- 火山视频教程
- 火山PC版本下载
- 火山PC视窗例程
- 互联网那些事
- 引流推广
- 项目揭秘
- 网络营销
- 营销软件
- QQ营销软件
- 娱乐软件
- 机器人插件
- 培训教程
- 技术教程
- 活动线报
- 数据库
- Redis
- Access
- MongoDB
- Mysql
- 问答
- 其它
- 易语言
- 需求
- 在线教程
- 多线程培训班
- 觅风易语言教程
- 模拟系列教程
- 集中营易语言教程
- 历史数据
- 随机tag
本文暂时没有评论,来添加一个吧(●'◡'●)