Как перестать реагировать нативную анимацию внутри 'onPanResponderMove', когда выполняется определенное условие? - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть ящик, который парит над видом.Пользователь может вертикально перетащить вверх, чтобы открыть, и перетащить вниз, чтобы закрыть его.У меня открывающая и закрывающая части работают плавно.Проблема, с которой я сталкиваюсь, заключается в том, что анимация перетаскивания останавливается, когда она достигает примерно 200 пикселей от верхней части экрана телефона, а также не перетаскивается за пределы 100 пикселей от нижней части экрана.Это абсолютный элемент, и я использовал Animated.ValueXY().Я знаю, что мне нужно остановить анимацию в функции onPanResponderMove: (e, gestureState) =>{}.Я попробовал stopAnimation, но он, похоже, ни на что не влияет.

Вот что вызывает перетаскивание -

    onPanResponderMove: (e, gestureState) => {
      return Animated.event([null, {
        dy: this.state.drag.y,
      }])(e, gestureState)
    },

Использование {...this.panResponder.panHandlers} в представлении, которое пользователи могут перетаскивать для перетаскивания.весь ящик.Как дескриптор.

Использование this.state.drag.getLayout() в стилях для представления, которое я хочу перетащить в ответ на перетаскивание «дескриптора».

Любой ответ приветствуется!

...