Javascript 如何在react native中使用lottie speed设置持续时间
我正在使用这个动画 由于某种原因,持续时间道具不起作用Javascript 如何在react native中使用lottie speed设置持续时间,javascript,react-native,lottie,Javascript,React Native,Lottie,我正在使用这个动画 由于某种原因,持续时间道具不起作用 <LottieView autoPlay={true} duration={60000} loop={false} source={assets.LOTTIE_LEVEL_PROGRESS} style={styles.lottie} /> 正如你们所看到的,我试图播放60秒的动画,但实时播放大约4秒 乐蒂库
<LottieView
autoPlay={true}
duration={60000}
loop={false}
source={assets.LOTTIE_LEVEL_PROGRESS}
style={styles.lottie}
/>
正如你们所看到的,我试图播放60秒的动画,但实时播放大约4秒
乐蒂库包含速度道具,可接收从0到1的数字
有没有办法播放这个动画60秒(动态数字,可能会变为120秒或更多)的时间?我认为这个库中的持续时间意味着一个动画执行所需的毫秒数。因此,在代码中,动画只执行一次,需要1分钟。换句话说,它是如此缓慢,你甚至看不到执行。要以正常速度执行大约1m的动画,您需要以下代码:
function Example() {
const [loop, setLoop] = useState(true);
useEffect(
() => {
let timer = setTimeout(() => setLoop(false), 60000);
return () => {
clearTimeout(timer);
};
},[]);
return (
<LottieView
autoPlay
loop={loop}
source={assets.LOTTIE_LEVEL_PROGRESS}
style={styles.lottie}
/>
);
}
函数示例(){
const[loop,setLoop]=useState(true);
使用效果(
() => {
让timer=setTimeout(()=>setLoop(false),60000);
return()=>{
清除超时(计时器);
};
},[]);
返回(
);
}
您确定json动画对象有效吗?Github页面显示duration:设置时,动画的持续时间(以毫秒为单位)优先于速度。这仅在源是动画的实际JS对象时有效。
Hi@molood-ayat,在这种情况下,动画将循环。动画是一个进度条,填充时间为5秒,我需要将此持续时间从5更改为我想要的任何时间=]哦,在这种情况下,我认为您可以使用状态作为持续时间。但在我看来,如果你写一个新的或者使用现有的库,比如react native progress,可能会更自然、更可取。