React Native:自定义TouchableOpacity动画速度

时间:2017-11-15 23:08:59

标签: javascript android ios reactjs react-native

根据TouchableOpacity docs,有一个activeOpacity道具可以更改最终不透明度级别,并且有一个setOpacityTo函数可以将组件设置为任何不透明度级别的动画。似乎没有什么可以改变动画的速度。

我如何改变动画速度?这有道具吗?我是否需要制作自己的自定义Animated.View

1 个答案:

答案 0 :(得分:2)

这是该方法的持续时间部分...

setOpacityTo(value) {
  // Redacted: animation related code
  this.refs[CHILD_REF].setNativeProps({
    opacity: value
  });
},

React-native在后台使用setOpacityTo来使用setNativeProps with TouchableOpacity设置不透明度的动画。

useNativeDriver

因此,如果您愿意,您也可以创建自己的动画事件。这是how touchable opacity uses setOpacityTo,确保将true设置为 setOpacityTo: function(value: number, duration: number) { Animated.timing( this.state.anim, { toValue: value, duration: duration, easing: Easing.inOut(Easing.quad), useNativeDriver: true, } ).start(); },

{{1}}