网站首页 > 网络编程 > 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









本文暂时没有评论,来添加一个吧(●'◡'●)