
React Native
Rlusia
安逸乃万恶之源
展开
-
React-native ListView不滚动
发现ListView里的数据,即使溢出了屏幕,也还是不滚动,查了资料,发现contentContainerStyle这个样式里,不能设置flex: 1 ,否则不会滚动。 参见: http://stackoverflow.com/questions/32874559/listview-fails-to-scroll原创 2016-07-15 09:32:32 · 4813 阅读 · 0 评论 -
React-native 布局相关笔记
react 宽度基于pt为单位, 可以通过Dimensions 来获取宽高,PixelRatio 获取密度。基于flex的布局view默认宽度为100%水平居中用alignItems, 垂直居中用justifyContent基于flex能够实现现有的网格系统需求,且网格能够各种嵌套无bug图片布局通过Image.resizeMode来适配图片布局,包括contain, cover, st原创 2016-07-13 22:39:26 · 5006 阅读 · 2 评论 -
React-native ListView 必须点击屏幕才会加载数据
最近在改动ListView时发现ListView数据不是在进入界面之后就加载出来,而是要点击屏幕之后才会加载数据,很怪异的bug。 首先函数是这么写的:在fetchInfo()里去获取服务器里的个人信息,然后再设置到页面。整理之后发现还是逻辑问题,以后得多注意思维清晰。fetchInfo() { if(!this.state.fetched) { var b原创 2016-07-13 23:28:55 · 4298 阅读 · 2 评论 -
React-native项目改包名
应公司开发规范需求,项目报名必须以公司反向域名为基础,于是大费周章改包名,整理例子如下: 1、新建文件夹test,把原来的包放进去 pre: 改路径之后(com文件夹和changename文件夹之间添加了一个test文件夹): 2、AndroidManifest.xml 把com.changename改成com.test.changename 3、MainActivity.jav原创 2016-07-13 23:24:32 · 4515 阅读 · 1 评论 -
React-native植入原生Android应用
首先按照React Native的官网上所说的步骤来。 注意事项 1. 一些其他文件: curl -o .flowconfig https://raw.githubusercontent.com/facebook/react-native/master/.flowconfig 上面的这个语句,其作用只是新建了一个.flowconfig文件,这些文件可以直接从其他RN项目里拷贝,如下图:原创 2016-07-13 23:18:00 · 1475 阅读 · 0 评论 -
React-native设置全局函数globle【适用于有组件嵌套时】
APP的首页App.js里,根据logFlag的值来判断渲染的内容是登录页面还是首页: 以前的逻辑是在MyInfo.js文件里的注销按钮里设置isLogin为false,然后跳转到App.js,App.js判断isLogin为false,设置this.state.logFlag为false,然后渲染出组件,即显示出了登录界面。但是问题出现了,当在登录界面登录成功后,默认的逻辑是跳转到App.j原创 2016-07-13 23:07:53 · 8203 阅读 · 0 评论 -
Java端和JS端的AES加密解密同步
Java端和JS端的AES加密算法同步 公司要求登录时用户名和密码必须先加密,再将数据发送到服务器。由于这种加密必须要求是可逆的,所以不能用MD5来加密,MD5不是可逆的。后台选择了用AES加密。然后问题就是如何跟公司的Java算法得到同样的结果。 后来在搜寻了很多算法后,发现了解决方案,改动公司的算法,然后就可以轻松匹配了。 • Java端的算法:import javax.crypto.Ci原创 2016-07-13 23:02:53 · 10970 阅读 · 1 评论 -
React-native listview换行
先看看ListView的代码,其布局style为list: 布局list才是关键: 在list中设置整个ListView的 的宽度为屏幕的宽度(通过Dimendions.get方法来获取),ListView的 contentContainerStyle 里设置的是Item的显示方式,通过flexDirection来设置Item以列(row)的方式渲染出来,然后设置其width属性为跟屏幕原创 2016-07-13 22:59:49 · 4626 阅读 · 4 评论 -
React-native中DatePickerAndroid的使用
在react native中,用DatePickerAndroid来打开系统的日期选择器,上图: 关于async和await,见阮一峰老师的日志: http://www.ruanyifeng.com/blog/2015/05/async.html不同的手机系统上显示的new Date()是不同的,有的显示的是:2016/4/15,有的是04/15/16,所以将时间用toLocalString()原创 2016-07-13 22:52:56 · 6900 阅读 · 0 评论 -
React-native fetch请求网络
开始的服务器直接传的字符串,所以这边用POST去请求,直接连接字符串LOGIN_REQUEST= LOGIN_URL +'?loginName='+uName + '&password='+uPwd; fetch(LOGIN_REQUEST,{ method: 'POST', header: { 'Aceept': 'application/json',原创 2016-07-13 22:44:40 · 5010 阅读 · 1 评论 -
关于React-native里Android原生模块和组件的写法
原生模块就是把Android里的API导出来给JS调用,说简单一点,就是让自己写的Java函数能够在React Native的js代码里调用。比如一些实现高性能的、多线程的代码,还有譬如图片处理、数据库、或者各种高级扩展等等。 举个栗子: Toast模块: 1、继承ReactContextBaseJavaModule类,实现安卓里面的Toast功能(就是调用Toast.makeText(*))原创 2016-07-13 22:37:55 · 3842 阅读 · 1 评论 -
react-native npm install 时出现的python环境变量缺失的问题
在npm仓库里引用别人的东西时,用npm install 命令,结果出现了如下错误:gyp ERR! configure errorgyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.刚开始胡乱查资料咯,上so,看到一篇帖子 来自 http://stack原创 2016-07-13 22:35:16 · 13061 阅读 · 2 评论 -
React Native ListView的Item设置点击事件时null is not an object
React Native ListView Item设置点击事件时,报错: “Null is not an object”原创 2016-07-13 22:30:41 · 7786 阅读 · 1 评论 -
React-Native 使用 ScrollView 简单实现 Banner 功能
前言遇到一个需求,需要做到一个2行列表的滑动,并且要求有底部的指示器,实际就是一个 banner ,由于原本代码是每行4个,分成2行,无法滚动,现在要在原有基础上改造成一行5个可滚动,故而没有大动代码,只是在外层嵌套 ScrollView ,利用滚动的属性模拟出了 banner 的效果:实现初始偏移量方案的主要思路在于 ScrollView 的滚动监听,每次滚动开始之前...原创 2018-08-09 18:27:52 · 1541 阅读 · 0 评论