问题标签 [react-native-gesture-handler]

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 投票
1 回答
327 浏览

react-native - 在 react-native 中浮动放大“类似 instagram”的新闻提要的图像

我正在为现有的 react native (0.63.4) 应用程序开发“类似 instagram”的新闻提要。在这个阶段,我使用(1.10) 来使用它的和实现react-native-gesture-handler来处理捏合/缩放功能。PinchGestureHandlerFlatList

我有一个用于滚动新项目的外部垂直平面列表,对于每个项目,我有一个用于左右滚动图像的内部水平平面列表。

如果我内联缩放图像,那么它可以正常工作,尽管由于必须重新布局所有其他项目,它有点慢。

我想做的是将图像“浮动”在其他所有内容之上,然后在缩放后恢复。我可以做所有这些,除了浮动图像。我试过overflow:'visible'在整棵树上设置,但它没有帮助zIndexelevation也似乎没有帮助。

从视觉上看,我想(有点)在缩放时弹出图像,然后它可以在最后恢复。我该怎么做呢?

--实现细节:提要只是一个数组NewsItem

imageRefs是所有图像的扁平化参考列表。

主要布局是这样的(稍微简化):

NewsItem

NewsImage具有处理存储在变量中的捏/缩放变换的所有代码:

  • scale
  • scaledWidth
  • scaledHeight
  • xScaledTranslate
  • yScaledTranslate 随着布局:
0 投票
1 回答
2023 浏览

react-native - 我在 ExpoKit 下的 RNGestureHandler.h 文件中生成了构建错误。未知类型名称“RNGestureHandlerState”

我在 ExpoKit 下的 RNGestureHandler.h 文件中生成了构建错误。未知类型名称“RNGestureHandlerState”。这个问题是在我将 expo 从项目中分离出来之后发生的。

我尝试了修复,我看到将 #import <XXX.h> 更改为 import "XXX.h" 但错误仍然存​​在。

这些是错误消息

0 投票
1 回答
103 浏览

react-native - 本机基础页脚在本机反应中接受玩家的触摸

我有一个MainFooter组件,其中包含页脚和迷你播放器,单击时会动画到全视图。我有一个问题,每当我们单击一个页脚选项卡时,播放器都会最大化,然后只卡在那里,没有响应。

此外,单击播放器内部的向下箭头图标不会将其最小化,单击 MiniPlayer 也不会使其最大化,但我们可以通过单击并将 MiniPlayer 拖动到全视图来最大化 MiniPlayer,对于最大化的播放器也是如此。

这是MainFooter组件:

这是FooterTabsContainer组件:

如果出现以下情况,我将不胜感激任何关于为什么会发生这种情况的帮助或评论:

  1. 修复了单击任何页脚选项卡时最大化 MiniPlayer 的问题。
  2. 修复了点击向下箭头图标时 MiniPlayer 未最大化点击和全视图播放器未最小化的问题

我正在使用"react-native-reanimated": "^1.13.2", "react-native-redash": "^8.0.0","native-base": "^2.15.2""react": "16.13.1", "react-native": "^0.64.0","react-native-gesture-handler": "^1.9.0"

最大化播放器

最大化播放器

迷你播放器:

迷你播放器

0 投票
0 回答
158 浏览

reactjs - 如何通过 React Native 中的捏手势处理程序设置最小比例?

我在 React Native 中使用 Gesture Handler 库中的捏和平移。到目前为止,它运行良好,但我一直在努力解决一个新问题。我想为比例设置一个最小值 1,以便用户不能将图像缩小到超过原始图像的比例 1。我希望能够放大到大于 1 的比例值,但我没有'不希望比例值小于 1,因此当用户尝试以比例小于 1 的方式缩小图像时,缩放应该停止。我该怎么做?

而在 XML 中,Pinch 是这样的:

0 投票
0 回答
274 浏览

javascript - 无法从 /User 解析模块 react-native-gesture-handler/Swipeable

我正在尝试向我的应用程序中的列表添加一点滑动手势。我导入了“从'react-native-gesture-handler/Swipeable'导入Swipeable;” 现在我收到以下错误:

*undefined 无法从 /Users/../../ListItem.js 解析模块 react-native-gesture-handler/Swipeable:在项目中找不到 react-native-gesture-handler/Swipeable。如果您确定该模块存在,请尝试以下步骤:

  1. 清除守望者手表:watchman watch-del-all
  2. 删除 node_modules 并运行 yarn install
  3. 重置 Metro 的缓存:yarn start --reset-cache
  4. 删除缓存:rm -rf /tmp/metro-**

老实说,我不确定如何处理最后四个步骤

这是一些代码:

有任何想法吗?:(

0 投票
0 回答
696 浏览

expo - 在 Android 模式中 - 在 GestureHandlerRootView 中包装内容不修复 react-native-gesture-handler

我正在使用博览会 ^40.0.0。

我正在尝试让 react-native-gesture-handler 组件<Modal>在 Android 中的 react-native 中工作。我在这里关注了文档 - https://docs.swmansion.com/react-native-gesture-handler/docs/#for-library-authors

它保持包裹<GestureHandlerRootView>,我这样做了,但它不能解决问题。

我创建了一个问题的小吃演示 - https://snack.expo.io/@noitidart/frisky-carrot

在这里,您会看到“点击此处计数:0”。请尝试点击它,您会看到它不会增加计数器。

您将看到一个“RN BUTTON”,它有效,但它不是来自 react-native-gesture-handler。

这是我的小吃代码:

0 投票
0 回答
13 浏览

react-native - 潘响应者自动禁用视频录制

我有一个按钮,当长按时,它会开始录制视频。只要手指按住视频,视频就会录制,当您抬起手指时,视频就会停止录制。

现在,当我添加一个平移响应器来查找人的手指位置时,我在录制时移动手指,录制会自动停止,而无需我抬起手指。

知道为什么会这样吗?

这是我的平移响应器功能:

这是我在长按上的录音功能:

这是我渲染的组件:

0 投票
0 回答
64 浏览

react-native - 自从我添加 React-Native-Gesture-Handler 以来,我收到“尝试注册两个同名的视图 RNGestureHandlerButton”

我最近将 React Native Navigation 添加到我的项目中,React Native Gesture Handler 是我也添加的依赖项之一。从那以后Tried to register two views with the same name RNGestureHandlerButton,尽管没有使用 Expo,我还是会随机出错。作为参考,我在下面的 package.json 中附加了我的依赖项:

在运行“react-native info”时,我得到:

如果我能提供任何有助于解决此问题的进一步信息,请告诉我。我正在使用 Windows 的 Android 模拟器上运行这个项目。谢谢!

0 投票
0 回答
47 浏览

react-native - 无法在 React Native View 上检测到手指释放

我有一个包装平面列表的视图。每个项目都是一个视频,我只想在手指松开时播放视频。尝试添加PanResponder功能以触发onResponderReleaseby 设置onStartShouldSetPanResponderCapture返回 true,如下所示:

这确实触发了发布,我能够控制台.log 但是平面列表停止接收触摸并且它变得不可滚动。

我的目标是在视图上拖动后检测手指释放。也尝试过onScrollEndDrag,但它仅适用于平面列表,如果我将手指从列表中抬起,则不会触发释放。

0 投票
1 回答
823 浏览

typescript - useAnimatedGestureHandler onStart 方法正确的上下文参数类型

TL; DR 有没有人有任何示例什么是正确的泛型用于 useAnimatedGestureHandler?

问题:

我正在关注关于 Reanimated 2 手势动画的教程。有这个例子:

我使用打字稿,当我在打字稿中复制示例时,我得到ctx参数(上下文)类型错误: Property 'offset' does not exist on type '{}'.在 onStart 声明中进行一些窥探后,我发现 GestureHandlers 的完整类型需要通用<T, TContext extends Context>

解决方法:

我可以通过简单地传递一个实用程序类型 Record(这与说“任何”几乎相同)来解决这个问题,我不喜欢这样。

问题:

有没有人有任何示例正确的泛型用于 useAnimatedGestureHandler 吗?