小编Dom*_*Dom的帖子

如何设置 PanGestureHandler 中与 react-native-gesture-handler 的初始偏移量?

在下面的简单滑块(打字稿)示例中,react-native-gesture-handler 中的 PanGestureHandler 仅在手势启动后才会设置。用户需要移动手指。

这就是我想要实现的目标:点击还应该设置滑块值(包括点击和拖动)。这是一种常见模式,例如在搜索视频文件或将音量设置为最大然后进行调整时。

我想我可以将其包装在 TapGestureHandler 中,但我正在寻找最优雅的方法来实现这一目标,而无需太多样板。

// example extracted from https://www.npmjs.com/package/react-native-reanimated-slider
import React, { Component } from 'react';
import Animated from 'react-native-reanimated';
import { PanGestureHandler, State } from 'react-native-gesture-handler';

const { Value, event, cond, eq, Extrapolate, interpolate } = Animated;

interface IProps {
  minimumTrackTintColor: string;
  maximumTrackTintColor: string;
  cacheTrackTintColor: string;
  value: number;
  style: any;
  cache;
  onSlidingStart;
  onSlidingComplete;
}
class Slider extends Component<IProps, {}> {
  static defaultProps = {
    minimumTrackTintColor: '#f3f',
    maximumTrackTintColor: 'transparent',
    cacheTrackTintColor: '#777',
  };

  private gestureState;
  private x; …
Run Code Online (Sandbox Code Playgroud)

react-native react-native-reanimated react-native-gesture-handler

2
推荐指数
1
解决办法
4653
查看次数