来自左侧屏幕的ObjectAnimator清除将被遮盖的图像

时间:2015-11-29 21:42:26

标签: android objectanimator

下面的ObjectAnimator效果很好。

screenWidth = 800;
ObjectAnimator moveOver =
            ObjectAnimator.ofInt(localMovingView, "left", screenWidth, 0)
                    .setDuration(500);
moveOver.start();

但是如果我改变screenWidth从左边移入,它会很糟糕。动画开始时,动画开始前的视图立即消失。新视图在动画结束时覆盖空白区域。新视图和旧视图都是已添加到不同ViewGroup的ViewGroup

screenWidth = -800;
ObjectAnimator moveOver =
            ObjectAnimator.ofInt(localMovingView, "left", screenWidth, 0)
                    .setDuration(500);
moveOver.start();

我无法在SO上找到解决这个问题的任何内容,所以请帮助我们。我检查了消失的视图。它有mLeft = 0;

1 个答案:

答案 0 :(得分:1)

在为视图的位置设置动画时,最好调整属性translationX和translationY。这些属性不是绝对的,它们相对于视图的当前X和Y位置。

编辑:此外,如果视图在继续动画之前在其目的地上显示片刻,则我之前的一个问题的答案可能会有用。 FragmentTransaction animation is working but appears glitchy