ViewCompat.animate - 如何在动画端恢复视图?

时间:2015-11-02 16:16:09

标签: android animation view

使用新的ViewCompat.animate没有setFillAfter(false)这样的东西 - 它似乎默认设置为true,因为动画完成后视图不会恢复。任何人都知道如何解决这个问题,以便恢复我的视图状态?

1 个答案:

答案 0 :(得分:2)

setFillAFter来自旧的动画系统,它只是将一个Matrix应用于视图画布并在末尾删除矩阵。新动画系统实际上是在物理上改变视图本身。

说,如果你想在它结束时恢复动画,你必须使用Runnable在动画结束时执行。这样的事情:

(例如,如果您要设置X值的动画)

final float initialValue = ViewCompat.getX(view);
... do your animation code
.withEndAction(new Runnable(){
    @Override
    public void run(){
        ViewCompat.setX(view, initialValue);
    }
};)