1. 基本使用,
注意两点

(1)将手势系统的函数放在“componentWillMount”生命周期函数里面,当时会有警告,警告自己看吧

(2)将方法使用ES6扩展运算符展开

import React from 'react';
import {Text,View} from 'react-native'; export default class DetailScreen extends React.Component{
UNSAFE_componentWillMount(){
// 申请成为触摸事件响应者 -> 成为触摸事件响应者 -> 处理触摸事件 -> 释放触摸事件 -> 触摸事件结束

   let [beginX,beginY,endX,endY] = [0,0,0,0];
this.gestureHandlers = {
onMoveShouldSetResponder: (evt) => {
console.log('onMoveShouldSetResponder');
return true;
},
// 现在要开始响应触摸事件了。这也是需要做高亮的时候,使用户知道他到底点到了哪里。
onResponderGrant:(event)=>{
console.log('onResponderGrant');
console.log(event.nativeEvent);
let obj = event.nativeEvent;
beginX = parseInt(obj.locationX);
beginY = parseInt(obj.locationY);
}, //具体响应事件:(1)用户正在屏幕上移动手指时 ,“注意”触发次数过于频繁
onResponderMove:(event)=>{
console.log('用户正在移动手指,且没离开');
},
onResponderRelease:(event)=>{
console.log('手指移动后,释放');
console.log(event.nativeEvent);
let obj = event.nativeEvent;
endX = parseInt(obj.locationX);
endY = parseInt(obj.locationY);
let result = Math.abs(endX-beginX)>Math.abs(endY-beginY)
if(result){
console.log('横向移动之后,判断是做正负');
if(endX>beginX){
console.log('向右');
console.log(this.props);
}else{
console.log('向左'); }
}else{
console.log('竖向移动');
}
}
}
}
render(){
return (
<View
style={{flex:1,backgroundColor:'yellow'}}
{...this.gestureHandlers}
>
<Text>详情界面</Text>
</View>
)
}
}

*** 判断手势方向 , 我定义了 四个变量 (beginX,beginY,endX,EndY),在 onResponderGrant函数里,获得初始位置坐标 , 在onResponderRelease函数里,获取最终位置坐标,之后,先判断,是横向移动还是竖向移动,确定好了方向,再通过正负值,判断具体方向

最新文章

  1. DBNEWNAME工具介绍
  2. caffe的python接口学习(4):mnist实例---手写数字识别
  3. 在jasp页面循环显示
  4. PowerDesigner自增列问题
  5. java转换json需要导入的jar包,org/apache/commons/lang/exception/NestableRuntimeException
  6. WP8_Json的用法
  7. 解决Redis Cluster模式下的排序问题
  8. UI基础 - UINavigationController
  9. puppet证书重申
  10. eslint规则
  11. PHP之工厂方法模式(三)
  12. 途牛java实习面试(失败)
  13. Windows命令行设置dns
  14. Mybatis+Mysql逆向工程
  15. CF-551-D-树dp/思维
  16. spark基础知识
  17. Docker(一)Linux开启你的Docker之旅
  18. [转] C++ 和 python之间的互相调用
  19. POJ 1182 食物链 (带权并查集)
  20. hihocoder 1322 - 树结构判定 - [hiho一下161周][模板题/水题]

热门文章

  1. nodejs mongoose连接mongodb报错,command find requires authentication
  2. Python的入门学习Day 10~13——form”夜曲编程“
  3. ZIAO日报 202302
  4. 深度剖析生产工厂用ERP系统进行管理有哪些优势
  5. JUC续
  6. MTK平台总结
  7. 批量统一调整PDF页面尺寸大小
  8. 13-之容器资源需求、资源限制及Metric-server(Heapster)
  9. e网通公告
  10. python之路3:文件操作和函数基础