根据TouchableOpacity
docs,有一个activeOpacity
道具可以更改最终不透明度级别,并且有一个setOpacityTo
函数可以将组件设置为任何不透明度级别的动画。似乎没有什么可以改变动画的速度。
我如何改变动画速度?这有道具吗?我是否需要制作自己的自定义Animated.View
?
答案 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}}