混合开发的大趋势之一React Native之页面跳转(2)+物理返回+特定平台代码
转载请注明出处:这里写链接内容
今天是10月份的最后一天,我加了3个月来的第一个班,挤出了这篇。
废话不多先安利,然后继续学习 RN
有好东西都往里面丢,努力做好归纳
https://github.com/ddwhan0123/Useful-Open-Source-Android
demo还是在上次的ui,只是加了新功能,回退键!
效果图可以看http://blog.csdn.net/ddwhan0123/article/details/52913765
这边就不重复贴了
BackAndroid
理论介绍是api扣来的:
监听硬件的back键操作。如果没有任何监听函数,或者监听函数的返回值不是true,则会调用默认的back键功能来退出应用。
默认是退出应用
有三个常用的方法
static exitApp()
static addEventListener(eventName: BackPressEventName, handler:
Function) #static removeEventListener(eventName: BackPressEventName, handler:
Function)
看名字就很好理解,分别是
退出APP
增加监听事件
移除监听
exitApp很简单,直接调用即可
两个listener方法需要传入2个参数,1为”tag效果的BackPressEventName”,2为具体实现逻辑的方法。
这里为什么说是类似于tag的BackPressEventName可以看:http://www.jianshu.com/p/44e415a3cb0b 解释的非常棒,图文并茂
Platform
在制作跨平台的App时,多半会碰到针对不同平台编写不同代码的需求。
在不用分包的情况下 可以用Platform来做手机的判断,诸如我要判断是ios还是安卓
if (Platform.OS === 'android') {
//安卓的事
}
if (Platform.OS === 'ios') {
//ios的事
}
安卓还可以用Platform.Version来判断sdk等级
if(Platform.Version === 21){
console.log('Running on Lollipop!');
}
变化大多在main.android.js
import React, {Component, Navigator} from 'react';
import {
AppRegistry,
View,
StyleSheet,
Text,
BackAndroid,
Platform
} from 'react-native';
var titleStr;
var _navigator;
var name;
BackAndroid.addEventListener('hardwareBackPress', function() {
if (_navigator == null) {
return false;
}
if (_navigator.getCurrentRoutes().length === 1) {
return false;
}
if (Platform.OS === 'android') {
_navigator.pop();
}
return true;
});
export default class Main extends Component {
constructor(props) {
super(props);
_navigator = this.props.navigator;
titleStr = this.props.titleStr;
name = this.props.name;
}
render() {
return (
<View>
<Text>{titleStr}
页面 获得的参数: value = {name}</Text>
</View>
);
}
}
AppRegistry.registerComponent('Main', () => Main);
在这个页面我们设置的返回键的监听事件,然后判断了只在上一页有页面,并且导航不为空的时候才做返回行为,不然直接退出 app(默认)
这次我把navigator对象”带来带去”,让他很好的管理者,页面集合。
这篇内容比较简单,但是打好基础也很重要哦!!
源码地址:https://github.com/ddwhan0123/ReactNativeDemo (有点包结构问题,看着调就行,操作起来不复杂)
混合开发的大趋势之一React Native之页面跳转(2)+物理返回+特定平台代码的更多相关文章
- 混合开发的大趋势之一React Native之页面跳转
转载请注明出处:王亟亟的大牛之路 最近事情有点多,没有长时间地连贯学习,文章也停了一个多礼拜,愧疚,有时间还是继续学习,继续写! 还是先安利:https://github.com/ddwhan0123 ...
- 混合开发的大趋势之一React Native与Android联调
转载请注明出处:王亟亟的大牛之路 先安利,有空我都会更,看到的好东西都会放进来:https://github.com/ddwhan0123/Useful-Open-Source-Android 公司某 ...
- 混合开发的大趋势之一React Native之简单的登录界面
转载请注明出处:王亟亟的大牛之路 这些天都在学习RN这部分吧,然后写了个简单的登陆业务,从"实战"中讲解吧 还是继续安利:https://github.com/ddwhan0123 ...
- 混合开发的大趋势之一React Native手势行为那些事
转载请注明出处:王亟亟的大牛之路 最近项目部分模块重构,事情有点多,学习进度有所延缓,外加一直在吸毒(wow你懂的),导致好多天没发问了,其实这部分知识月头就想写了,一直没补. 话不多说先安利:htt ...
- 混合开发的大趋势之一React Native之Image (脑动理解)
文章是宝宝自己写的,你可以转走,标明哪来的就行王亟亟的大牛之路 国庆这些天要么旅游要么WOW,感觉整个人都废了.. 直接从黄种人晒成了非洲大酋长..然而还是无橙,这礼拜要做7天,昨天把单元测试的东西整 ...
- react native 之页面跳转
第一章 跳转的实现 1.component 中添加这行代码 <View style={styles.loginmain}> <Text style={styles.loginte ...
- 混合开发的大趋势之 一个Android程序员眼中的 React.js 块级作用域 和 let
转载请注明出处:王亟亟的大牛之路 最近都有事干然后,快到月底了这个月给CSDN的博文也就两篇,想想也蛮多天没更了,那就来一篇. 老规矩,先安利:https://github.com/ddwhan012 ...
- 混合开发的大趋势之 一个Android程序员眼中的 React.js 箭头函数,const, PropTypes
转载请注明出处:王亟亟的大牛之路 昨天写了篇React.js的开头之作,讲了讲块级作用域和let,先安利:https://github.com/ddwhan0123/Useful-Open-Sourc ...
- 移动开发发展方向-----Hybird混合开发3大方案
移动开发发展方向-----Hybird混合开发3大方案
随机推荐
- webpack4学习笔记(三)
webpack打包资源文件 1,打包css文件,先安装css-loader和style-loader npm install --save-dev css-loader style-loader we ...
- 【opencv】imread 赋值 深拷贝浅拷贝
import cv2 import copy import os def filter_srcimg(dstimg): ss=3 srcimg=copy.deepcopy(dstimg) #aa=5 ...
- 【pentaho】【kettle】【Data Integration】试用
要做数据分析,领导让研究一下kettle. 先占个坑. 这里有个3.0的文档: http://wenku.baidu.com/link?url=hvw_cOBIXLXSGvftkGhXQic3CLC7 ...
- Linux命令(基础1)
一 命令的基本构成 (PS:Linux发行版本命令大概有200多个,熟练掌握个百八的就行了,其余的有个大概了解) 命令体 选项 参数(对象) ls -l /var 1.1参数:文件 文件类型: d ...
- rest_framework 之分页器
一 分页器--准备 1.1 基本参数 # 普通分页 from rest_framework.pagination import PageNumberPagination # 偏移分页 from r ...
- (3.15)常用知识-sql server分页
推荐使用row_number over()方法,或2012以上使用offset PageSize = PageNumber = 方法一:(最常用的分页代码, top / not in) UserId ...
- 0602-Zuul构建API Gateway-Zuul Http Client、cookie、header
一.Zuul Http Client zuul使用的默认HTTP客户端现在由Apache HTTP Client支持,而不是已弃用的Ribbon RestClient.要使用RestClient或使用 ...
- Charles 抓包工具的使用
抓包工具有很多,目前用过的有Charles, Fiddler, burpsuite.下面主要是Charles 的应用实例. 一. 用Charles抓包 1. PC 抓包 打开Charles, 确保“录 ...
- PKU 1379 Run Away(模拟退火算法)
题目大意:原题链接 给出指定的区域,以及平面内的点集,求出一个该区域内一个点的坐标到点集中所有点的最小距离最大. 解题思路:一开始想到用随机化算法解决,但是不知道如何实现.最后看了题解才知道原来是要用 ...
- 开发者应该了解的API技术清单
近几年,API经济纷纷崛起,无论是国外还是国内,众多厂商积极开放API.开发者很多时候是要借助这些API,才能轻松构建出一款应用,极大地提高开发效率和开发质量.文中整理了一份API服务清单,内容涵盖: ...