Вы должны переместить представление после анимации в новое положение. Вы можете использовать LayoutParams. используйте код, подобный этому.
transAnimation= new TranslateAnimation(0,
sourceX-destinationX,0,sourceY-destinationY); // right to left
transAnimation.setDuration(1000);
//transAnimation.setFillEnabled(true);
transAnimation.setFillAfter(false);
view.startAnimation(transAnimation);
transAnimation.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animation animation) {
Log.v("hari", "--------onAnimationEnd--------");
RelativeLayout.LayoutParams relativeNew
= new RelativeLayout.LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
relativeNew.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
relativeNew.addRule(RelativeLayout.ALIGN_LEFT);
relativeNew.setMargins(125, 10, 10, 10);
view.setLayoutParams(relativeNew);
}
Работает ли оно, если вы нажмете на то место, где первоначально было представлено представление, перед выполнением анимации? –
У вас есть метод onClick на вашем классе? – evilone
Да, его работа до начала анимации. – DevAndroid