React native 如何在React Native中触发动画计时的加速(减少持续时间)?

React native 如何在React Native中触发动画计时的加速(减少持续时间)?,react-native,animation,React Native,Animation,我有一个3秒的不透明显示在加载的图像。 动画以onLoadStart开始onLoadEnd我想快速完成动画,不管剩余的持续时间如何 i、 e.-如果动画还有2秒,图像加载,我希望在200毫秒内完成动画。怎么做 这是到目前为止的代码。谢谢 从“React”导入React; 从“react native”导入{Animated,ImageBackground}; 常量ProgressiveImage=({source})=>{ 常量不透明度=新的动画值(0); 常量startOpacityAnima

我有一个3秒的不透明显示在加载的图像。 动画以
onLoadStart
开始
onLoadEnd
我想快速完成动画,不管剩余的持续时间如何

i、 e.-如果动画还有2秒,图像加载,我希望在200毫秒内完成动画。怎么做

这是到目前为止的代码。谢谢

从“React”导入React;
从“react native”导入{Animated,ImageBackground};
常量ProgressiveImage=({source})=>{
常量不透明度=新的动画值(0);
常量startOpacityAnimation=()=>
动画。计时(不透明度{
toValue:1,
时长:3000,
}).start();
const-endOpacityAnimation=()=>{
//取当前不透明度值并
//在200毫秒内完成动画。
};
常量动画容量={
背景颜色:不透明度.interpolate({
输入范围:[0,1],
输出范围:['rgba(255,255,255,0.4)''rgba(255,255,255,0)',
}),
};
返回(
);
}
您可以尝试:

const-endOpacityAnimation=()=>{
opacity.stopAnimation()
动画。计时(不透明度{
toValue:1,
持续时间:200
}).start()
};
或者,如果要在停止动画中使用“不透明度”的当前值:

opacity.stopAnimation((值)=>{
如果(值<'表示只经过1秒的某个数字'){
动画。计时(不透明度{
toValue:1,
持续时间:200,
}).start();
}否则{
//如果要结束动画,请使用少于2秒的时间
}
});

谢谢@Wiliam。我必须将我的不透明度更改为
constopacity=useRef(新的动画.Value(0)).current这很有效。