Я использую Expo и последнюю версию React-Native, и я хочу предоставить тонкую тактильную обратную связь для компонентов, таких как View или Button.
В настоящее время я использую анимацию для запуска анимации импульсов в событии onPress(), но анимация запускается только после отпускания пальца.
Я хочу тонкое уменьшение размера, в то время как при нажатии на него появляется гладкая анимация, которая будет чувствовать себя элегантно и не раздражать меня.
Это можно сделать? Я думал, что Animation или Animatable легко поддержали бы это, но я не могу найти похожие примеры.
Вы можете сделать свой собственный ощутимый, используя Систему Ответчика Жест
В основном вы будете использовать реквизиты onStartShouldSetResponder
, onResponderGrant
и onResponderRelease
переданные в Animated.View
.
class MyTouchable extends React.PureComponent {
render(){
<Animated.View
style={{ your styles, and animation values }}
onStartShouldSetResponder={() => true}
onResponderGrant={({ nativeEvent }) => {
//run your animations here
}}
onResponderRelease={({ nativeEvent }) => {
//animate back to zero, call your onPress function
//passed via props
}}
/>
}
}