Я пытаюсь создать некоторый код, который увеличивает размер кнопки, когда пользователь удерживает ее, а затем возвращается к исходному размеру при отпускании.
Я относительно новичок в React / RN и искал тонны сайтов, чтобы найти результат, но, похоже, ничего не нашел.
Я не могу сказать, должен ли я использовать PanResponder здесь или нет. Я также пытался использовать Animated.timing, но время жестко запрограммировано и не привязано к промежутку времени, когда пользователь удерживает кнопку нажатой. Я попробовал Animated.spring, но опять же, это не связано с тем, сколько времени пользователь удерживает кнопку нажатой.
Я выложу быстрый GIF, который копирует то, что я пытаюсь пойти.
https://imgur.com/a56pSQl
Вот что у меня есть:
this.scaleAnimation = new Animated.value(3)
handlePress = () => {
Animated.spring(this.scaleAnimation, {
toValue: 4,
friction: 2,
tension: 160
}).start()
}
render() {
const pauseStyle = {
transform: [
{ scale: this.scaleAnimation }
]
}
return (
<TouchableWithoutFeedback onPress={this.handlePress}>
<Animated.View style={[ pauseStyle ]}>
<Ionicons name="md-pause" />
</Animated.View>
</TouchableWithoutFeedback>
)
}
Будем благодарны за любые дубли: D