问题标签 [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 回答
748 浏览

javascript - 使用 panresponder 在按钮点击上刷卡

我正在尝试制作一个类似于 tinder 的应用程序组件来刷卡,当我用手指刷卡时它工作正常,但是,我也想在按钮单击时实现相同的效果。到目前为止,我已经使用 Panresponder 来创建滑动动作,下面是我的代码

}

我想做一个this.swipeRight()可以刷卡的功能,就像我用手指刷卡一样,我尝试过创建一个类似的功能,但它只是立即移除最上面的卡,然后它停止工作

}

任何帮助将不胜感激,我在地图函数中有panresponder

0 投票
1 回答
292 浏览

react-native - 如何在 React Native 表格中点击并拖动?

我在 React Native 中有一个表格,它实际上只是一堆样式化的View元素,如下所示:

在此处输入图像描述

我想设置它,以便用户可以在任何空框上点击手指并拖动手指以突出显示这些框。

我已经使用mousedown/ mouseover/mouseup在桌面和touchstart/ touchmove/touchend移动浏览器上为组件的Web 版本设置了类似的东西,但是我在React Native 中创建相同的效果时遇到了麻烦。

在进行了一些搜索之后,我遇到了一个名为PanResponder( https://reactnative.dev/docs/panresponder ) 的东西,我怀疑如果设置正确会得到我想要的东西。但是,文档并没有详细解释各种平底锅处理程序的工作原理。

按照文档中的示例,我编写了以下起始代码:

这样,当我点击特定框并在该框内移动时,我可以触发事件。但是,只要我将手指移到下一个框,onPanResponderTerminate事件就会触发,并且我不会触发任何其他事件。

我的问题是:PanResponder用于我想要完成的任务是否正确?如果是这样,我需要如何更改它以获得我想要的?如果没有,我应该改用什么?谢谢你。

0 投票
1 回答
270 浏览

react-native - 反应本机 PanResponder 偏移不起作用

我试图在用户第一次发布时保持平底锅 Y 偏移 - 我已经查看了如何使用以下方法完成此操作,但偏移被忽略:

这是此功能的单独组件,因此我this.props.onZoomProgress()用于传递值以用作主要组件中的缩放状态。

干杯!

0 投票
1 回答
220 浏览

javascript - React Native:是否可以在 onPanResponderMove 中停止 PanResponder 事件?

我想添加对 Y 轴可以将 View 拖入其他 View 的距离的限制。我的 onPanResponderMove 看起来像这样:

所以现在内部视图在滚动进一步限制并返回时仍然会拖动(看起来它在摇晃)。而且我希望在达到这些限制时停止拖动并且不知道如何。

如果有其他更好的解决方案可以实施,我将非常感谢您的帮助:)

0 投票
1 回答
604 浏览

javascript - 当要设置动画的项目位于可滚动视图前面时,Panresponder 或 Animated.View 不起作用

大家好 :) 应该是贴在最近角落的导航头像的功能。在编码时,我使用了一个简单的圆圈作为占位符。问题是以下代码在导入到另一个屏幕时可以正常工作,但是当我<View style={styles.circle} />用图像替换时<Image source={require("../assets/dude.png")} resizeMode="contain" style={{width: 180, height: 240,}}/>它不再工作了?就像我可以看到图像一样,但是动画效果非常糟糕,它随处可见,不像它应该做的那样?

我也尝试使用 Animated.Image 而不是视图并为其提供所有参数,但仍然没有变化。奇怪的是,如果我将此代码作为屏幕本身运行,图像工作得非常好,但是当我导入它时,只有圆形视图有效,而不是图像?

编辑:刚刚发现问题:如果 Animated.Image 在可滚动视图的前面,即使它不是该视图的一部分,它也会出错。如果我用其他任何东西(如盒子)替换图像,它工作正常,只有图像错误以这种方式:) 这导致我的下一个问题:我该如何解决这个问题?

所以这是我的代码:

0 投票
1 回答
86 浏览

react-native - 平移响应器中断滚动视图滚动

我正在为平面列表的每个项目使用 panresponder。我希望平移响应器仅在用户从左向右滑动时做出响应。但是当我滚动时,平移响应器也变得活跃。我希望滚动时不会中断

0 投票
1 回答
612 浏览

javascript - Panresponder + 插值

我有一个组件级,它有一个 Animated.value “this.progress”,它采用 [1, 3] 中的值。

Parent 渲染一个 Component Child并将进度作为 props 传递给它:

Child 位置取决于进度:

  • 如果progress = 1,则子位置为[1, 3]
  • 如果progress = 2,则子位置为[2, 2]
  • 如果progress = 3,则子位置为[1, 1]

如果动画改变了progress的值,Child必须相应地移动(例如,如果progress是从1到2的动画,用户必须看到Child从[1, 3]平滑地移动到[2, 2] )。

为此,我使用了两个插值:

我用它们使用“变换”来固定孩子的位置:

它运作良好,但现在我还想使用用户手指使 Child 可移动。为此,我定义了一个 panResponder。问题是 panResponder 也使用了转换。我现在有 2 个转换:

  1. 用于从 this.props.progress 插入 Child 的位置;
  2. panResponder 用来用用户手指移动 Child 的一种。

我不知道如何结合这两个变换。这是我尝试过的:

这没用。panStyle 似乎被忽略了。我想你不能同时进行两个变换。

我还尝试在转换中“添加”这两个表达式,但没有成功(也许可行)。

我的最后一个想法是在用户移动 Child 时让布尔值“isMoving”等于 true。如果 isMoving 为假,我使用第一个转换,否则,我使用第二个。这似乎很有希望,但我没有成功地让它发挥作用。

你能告诉我我该怎么做吗?

0 投票
0 回答
508 浏览

react-native - React Native 动画滑动视图

我怎样才能在 React native 上做这个动画?

我希望当用户做出向右滑动头盔的手势时,它会移动到另一个屏幕,当向左滑动头盔时,它会移动到另一个屏幕

这么简单吗?

导航你有其他建议吗?

**代码波纹管:**

0 投票
0 回答
110 浏览

javascript - React Native如何在panresponder中获取元素位置

我正在尝试返回的值,.measure但似乎里面的代码在不使用状态的情况下无法交互,因此它一直返回 false。我试图避免使用状态,因为我需要我的值PanResponder

测量函数返回 false

我想要做的是:将元素位置放在PanResponder

我的问题

我试图让元素在 中的位置PanResponder,但不断得到错误的值(默认值)。或者里面的状态PanResponder没有更新。

泛响应

0 投票
1 回答
342 浏览

reactjs - 如何在 React Native 中制作微调器?我想通过 PanResponder 旋转框

我正在尝试在本机反应中使用 PanResponder 以便在其中心旋转一个框。到目前为止,这是我的代码:

}

'''

在这个 const RotateValue 中,我试图使用 this.pan.x 和 this.pan.y 来转换为度数。我放了“10度”来证明它会旋转10度。但是我迷失在如何完成我打算做的事情上。

任何帮助将不胜感激。太感谢了。