TranslateAnimation is a view animation, as opposed to a property animation. The distinction is defined in these docs, and the included snippet:
http://developer.android.com/guide/topics/graphics/overview.html http://developer.android.com/guide/topics/graphics/prop-animation.html
Another disadvantage of the view animation system is that it only modified where the View was drawn, and not the actual View itself. For instance, if you animated a button to move across the screen, the button draws correctly, but the actual location where you can click the button does not change, so you have to implement your own logic to handle this.
Basically, view animation works by applying a transformation matrix to the DisplayList in draw(). This effects how the View is drawn, but is entirely distinct from any of the View's properties.
Property animation, on the other hand, does effect your View's properties, and is probably what you'll want to use. Try replacing your TranslateAnimation with the following snippet:
ObjectAnimator anim = ObjectAnimator.ofFloat(view, "translationX", view.getTranslationX(), 0f);
anim.setDuration(1000);
anim.start();
As this animator runs it will actually change the value returned by getTranslationX(), so your touch handling code will be able to correctly determine where the View is being displayed.