'use strict';
import React, { Component } from 'react';
import {
AppRegistry,
ScrollView,
StyleSheet,
Text,
View,
TouchableHighlight,
Navigator,
} from 'react-native'; class NavButton extends React.Component{
render(){
return(
<TouchableHighlight style={styles.button}
underlayColor='#b5b5b5' onPress={this.props.onPress}>
<Text style={styles.text}>{this.props.text}</Text>
</TouchableHighlight>
);
} }
class NavMenu extends React.Component{
render(){
return(
<View style={{flex:1,}}>
<Text style={styles.messageText}>{this.props.message}</Text>
<NavButton onPress={()=>{this.props.navigator.push({
message:'Push进来的页面',
sceneConfig:Navigator.SceneConfigs.FloatFromRight,
});}} text='Push到下一级页面' /> <NavButton onPress={() => {
this.props.navigator.push({
message: 'Present进来的页面',
sceneConfig: Navigator.SceneConfigs.FloatFromBottom,
});
}}
text="Present到下一级页面"
/>
<NavButton onPress={() => {
this.props.navigator.pop();
}}
text="Pop到上一级页面"
/>
<NavButton onPress={() => {
this.props.navigator.popToTop();
}}
text="Pop到主页面"
/>
</View>
);
}
}
class MyProject extends Component { render() {
return (
<Navigator style={styles.container} initialRoute={{message:'主页面',}}
renderScene={(route,navigator)=><NavMenu
message={route.message}
navigator={navigator}
/>} configureScene={(route)=>{
if (route.sceneConfig) {
return route.sceneConfig;
}
return Navigator.SceneConfigs.FloatFromBottom;
}}/>
);
} } const styles = StyleSheet.create({
container: {
flex: 1,
},
messageText: {
fontSize: 14,
fontWeight: '500',
padding: 15,
marginTop: 50,
marginLeft: 15,
},
button: {
backgroundColor: 'green',
padding: 15,
borderBottomWidth: StyleSheet.hairlineWidth,
borderBottomColor: 'black',
},
text:{
fontSize:14,
color:'white',
},
}); AppRegistry.registerComponent('MyProject', () => MyProject);

效果图:

参考案例:

http://www.lcode.org/%E3%80%90react-native%E5%BC%80%E5%8F%91%E3%80%91react-native%E6%8E%A7%E4%BB%B6%E4%B9%8Bnavigator%E7%BB%84%E4%BB%B6%E8%AF%A6%E8%A7%A3%E4%BB%A5%E5%8F%8A%E5%AE%9E%E4%BE%8B23/

最新文章

  1. display用法:
  2. C# 用原生JS进行文件的上传
  3. Microsoft.Crm.Setup.SrsDataConnector.RegisterServerAction 操作失败
  4. 数据持久化以及DAO模式的简单使用
  5. mongodb ubuntu下自启动
  6. 使用javascript实现贪吃蛇游戏
  7. verilog阻塞与非阻塞的初步理解(二)
  8. java对redis的基本操作(转)
  9. POJ 2777 Count Color (线段树成段更新+二进制思维)
  10. Java系的大网站架构-LinkedIn和淘宝
  11. C语言 rand()函数的用法
  12. 通过ip地址获取当前地理位置
  13. Linux下(主要针对Ubuntu)下桌面分辨率的添加
  14. Python可视化TVTK库初使用
  15. C++ 精英化趋势
  16. 接口测试基础——第3篇smtplib发送带图片的邮件
  17. python class的创建
  18. CC254x/CC2540/CC2541库函数速查(转)
  19. :nth-of-type(n) 与 :nth-child(n) 区别
  20. Cloudstack 的搭建

热门文章

  1. AOP基础
  2. Windows 硬件开发人员怎样选择代码签名证书类型
  3. android保存bitmap到sdcard
  4. linux 创建 bootable iso 文件
  5. Redis是单线程的
  6. 闲聊ROOT权限——ROOT权限的前世今生
  7. android_handler(一)
  8. 传智播客JDBC视频教程
  9. iOS 打开扬声器以及插入耳机的操作
  10. geek青年的状态机,查表,纯C语言实现