I think this is a mistake with the old animator schemes (I believe in a fairly well-known error, including filling after it didn't work). Try using ObjectAnimator instead
Here is an example
ObjectAnimator oa = ObjectAnimator.ofFloat(view, "translationX", 0, 100f); oa.setDuration(1000); oa.start();
If you want to move in the Y direction, you can use the Y translation. If you want to move in both directions, you need X translation and Y translation, and at the same time use AnimatorSet.
Mark this comment on this question. Using the old animation API, apparently dispill fillAfter (true), the button position remains the same. This confirms your problem. So just use the new API and you should be in good shape.
Jameo
source share