我有一个使用Lottie的动画效果很好,问题是,假设我的动画是一个会成长和收缩的球(就像它在跳动一样),当用户按下该球时,我需要它“在其球上成长最大尺寸”,因此我需要将动画进度设置为1(对吗?)。
这很好用,但是问题是我希望球“长大”直到达到最大大小,而不仅仅是在零点几秒内从0变到1,有人知道怎么做吗? (很抱歉,如果我的问题表达得不好...)
这是我尝试编写的代码:(此代码使球在短短的一秒内从0变到1,而不是像它在增长一样)
LottieAnimationView unclickedAnimation = ...
unclickedAnimation.pauseAnimation();
float currentProgress = unclickedAnimation.getProgress();
for(float i = currentProgress; i < 1.0f; i += 0.01f) {
unclickedAnimation.setProgress(i);
}
已经谢谢你了
最佳答案
使用当前代码,您只需将动画设置为显示特定的帧。您要设置maxProgress,然后播放动画。
因此,如果您希望它从一半变到完整大小,则可以从maxProgress(0.5f)开始;并在那里暂停。用户单击时,可以设置新参数:
unclickedAnimation.setMaxProgress(1f);
unclickedAnimation.resumeAnimation();
关于java - Lottie-setProgress无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50645439/