问题标签 [panresponder]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
196 浏览

android - 如何在孩子使用 PanResponder 在其中移动时滚动父 ScrollView

我正在寻找一个选项来在本机反应中构建此功能。

在此处输入图像描述

我在滚动视图中添加了 PanResponder,但问题是当我在屏幕滚动视图中拖动项目时不滚动。那么 react-native 中是否有任何选项可以同时拖动和滚动以实现相同的视图。

0 投票
1 回答
666 浏览

reactjs - 无法访问 onPanResponderMove 内的更新状态或道具

我在做什么:更改状态以响应用户的向上/向下滑动。环境:反应原生 0.61.5

我的组件如下。

基本上我想增加/减少onMoveShouldSetPanResponder中的状态参数,

现在,在 onMoveShouldSetPanResponder 第一次触发时,'abc' 已成功递增/递减。组件中最顶层的控制台也显示了新值。

但是,在所有连续触发之后,onMoveShouldSetPanResponder 函数内的控制台始终将 abc 打印为0(即初始值)。它永远不会改变。

是不是我们无法访问 onMoveShouldSetPanResponder 内部的更新状态?我错过了什么还是有其他方法可以做到这一点?

0 投票
1 回答
329 浏览

react-native - 屏幕上的多个 panresponder 管理不同的区域(同时)

有什么办法可以同时使用两个 Panresponder 而不会相互干扰?

我想创建一个应用程序,可以在特定区域同时更改两个样方的位置:蓝色样方应该只能在蓝色区域中移动,而灰色样方应该只能在白色区域中移动。(图片:在这里你可以看到我的应用程序屏幕)但问题是触摸事件相互干扰。

到目前为止,这是我的代码:

0 投票
1 回答
250 浏览

javascript - PanResponder X,Y 值在反应本机应用程序上略微偏离

我正在尝试了解如何使用 Panresponder。我正在尝试创建一个“十字准线”,在用户点击的任何地方都会出现。我希望能够让它跟随用户的手指,但现在我什至无法让它显示在用户点击的地方。现在它的工作,但 X,Y 值是关闭的。我无法理解我做错了什么。

我将初始偏移量设置为 x:0 和 y:0 因为我不在乎前一个用户点击的位置。我已经尝试过使用 locationX/locationY 或 pageX/pageY 或gesture.x0/gesture.y0 的所有组合。

更奇怪的是,在我至少单击包含 panhandler 的框后,我可以单击框下方来启动 panhandler。如果我在第一次单击框内之前单击框外,则不会调用乞丐。

任何帮助都会很棒

主文件

Line.js

PanResponder 演示

0 投票
1 回答
914 浏览

reactjs - PanResponder 更改 Card Y 值和移出屏幕的问题

我是 react-native 动画 API 和 PanResponder API 的新手。
我想创建谷歌地图克隆 UI 和卡片动画,在结果后显示。
我想创建卡片,当用户向上滑动时,卡片到达屏幕顶部,当用户向下滑动时,卡片应该调整到原始位置。
我想实现的谷歌地图演示


我已经为此实现了一些代码,但我面临的问题是卡片在顶部方向上移出屏幕(在卡片到达顶部位置后向上滑动)。有时,向下滑动有效,但并非总是如此。


我的演示

世博小吃链接


应用程序.js

0 投票
2 回答
191 浏览

arrays - 如何使用功能性 react-native 从 PanResponder 中删除第一张卡?

我正在学习 react-native,是的,我是初学者,我想制作类似 Tinder 的应用程序,但我遇到了一个问题,即无法刷第一张卡(意味着无法移除第一张卡)。这些代码没有错误消息。我尝试了一些解决方案,但仍然无法工作。请有人帮助我获取这些代码。

这些都是功能性的本机反应。请帮我解决问题,非常感谢。

0 投票
1 回答
78 浏览

react-native - React Native 中的 PanResponder 和动画问题

我在 React Native 中使用 PanResponder 但我有一个简单的问题我无法解决!!!

这是我的代码

我想分别移动每个项目手指但是当我触摸列表中的每个项目时,整个项目开始移动。

谁能帮帮我??

0 投票
1 回答
242 浏览

react-native - RN 手势处理程序:1 个图像被拖动,但 2 个图像一起移动

在我的 React Native 0.62.2 应用程序中,react-native-gesture-handler 1.6.1用于react-native-animated 10.10.1使图像网格可拖动。问题是所有上传的图像网格都一起移动而不是单独拖动。这是可拖动图像网格的代码:

这是 2 个图像网格一起向左拖动,但不仅移动了一个网格

在此处输入图像描述

1 张图像被拖动,但 2 张图像一起移动

0 投票
1 回答
198 浏览

react-native - 当触摸点在多个可触摸元素之间移动时,如何跟踪当前触摸的元素?

我有这样的用户界面:

我想在You are touching: a触摸不同的元素时更新文本。具体来说,我想支持这种用法:

  • 用一根手指在容器中的任意一点按下
  • 在将手指保持在屏幕上的同时,将手指移动到任意框a/b/c
  • 当手指触摸时a/b/c,更新文本
  • 将手指移动到另一个框并再次更新文本
  • 等等。

我尝试onPressIn为每个盒子添加处理程序。这适用于点击单个框。但是,如果我在框之间移动手指,则onPressIn不会调用其他框的处理程序。换句话说,我必须在另一个盒子观察到触摸事件之前抬起手指。

我之前通过添加PanResponder处理程序Container并根据移动事件的坐标确定触摸哪个框来实现这一点。这种方法很麻烦,我假设有一种更简单的方法来实现所需的行为。

如果重要的话,容器真的是一个react-native-svg Svg元素,而盒子a/b/c真的是 SVGRect元素。

我该如何实施?

0 投票
1 回答
284 浏览

react-native - panResponder 在每次触摸时从起始位置开始

尝试使用 React Native PanResponder 制作 swiper。当我在释放按钮从开始位置开始后再次单击按钮时。我尝试在 onPanResponderGrant 中使用 setOffset ,但这会使按钮在滚动时超出父容器。如果 sser 滚动了 45% 的容器半宽度,我将动画按钮移动到该半边。

这是我的代码的链接 https://snack.expo.io/@sargnec/react-native-swiper