我有一个使用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/

10-09 13:58