Android动画进度回调方法

时间:2014-11-16 06:49:55

标签: android multithreading animation asynchronous

我想知道像jQuery一样,有一个选项来检查任何控件的android中动画的剩余时间。想要检查完成动画剩余多少毫秒。具体而言,在当前正在运行的动画的开始和结束之间运行的侦听器。

1 个答案:

答案 0 :(得分:0)

我自己找到了答案。因为我想使用此功能来增加修复时间过程的时间或动画留下的剩余时间所以我找到了这个

import android.view.View;
import android.view.animation.Animation;
import android.view.animation.Transformation;

public class HeightAnimation extends Animation {
    protected final int originalHeight;
    protected final View view;
    protected float perValue;

    public HeightAnimation(View view, int fromHeight, int toHeight) {
        this.view = view;
        this.originalHeight = fromHeight;
        this.perValue = (toHeight - fromHeight);
    }

    @Override
    protected void applyTransformation(float interpolatedTime, Transformation t) {
        view.getLayoutParams().height = (int) (originalHeight + perValue
                * interpolatedTime);
        view.requestLayout();
    }

    @Override
    public boolean willChangeBounds() {
        return true;
    }
}  

其中applyTransformation给我剩余时间或进度回调的效果,但它解决了我的问题。