下面的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;
答案 0 :(得分:1)
在为视图的位置设置动画时,最好调整属性translationX和translationY。这些属性不是绝对的,它们相对于视图的当前X和Y位置。
编辑:此外,如果视图在继续动画之前在其目的地上显示片刻,则我之前的一个问题的答案可能会有用。 FragmentTransaction animation is working but appears glitchy