我在我的 Vue Native 应用程序中使用 React Native Animations。它们通常可以正常工作,但由于某种原因,当我尝试为 paddingTop 和 paddingBottom 设置动画时,这些值会跳到它们的最终值,而不是通过它们平滑地设置动画。
这似乎只有在屏幕上有很多视图(15+)时才会发生。请注意,并非所有这些视图都具有动画效果,只有一个!另请注意,动画这些视图的不透明度确实可以正常工作,只是填充动画正在跳过。
我不能使用useNativeDriver
,因为不支持 paddingTop/Bottom,并且缓动功能似乎没有帮助。如果我调整持续时间,那么跳过的动画会更正常,但不跳过的动画显然非常慢。
这只是 React Native/Vue Native 的限制吗?
一个片段(注意 opacityGrowth 没有与 paddingMod 同时被动画化):
<animated:view
:style="{opacity: opacityGrowth,
paddingTop: paddingMod,
paddingBottom: paddingMod }">
widenLetter () {
var time = 300
// Animate the letter as we read it, making it inflate
Animated.timing(this.paddingMod, {
toValue: 20,
duration: time,
}).start()
},
shrinkLetter () {
var time = 300
// Animate the letter after we read it, making it deflate
Animated.timing(this.paddingMod, {
toValue: 0,
duration: time,
}).start()
},