小问题,在使用TranslateAnimation之后的android中,你如何获得它所采取的位置。
在我的应用程序中,当用户触摸图像时,它将向上移动并显示输入屏幕。 但是当图像到达其最终位置时,我想将图像粘贴到新位置。 但是当我使用getHeight或getLayoutParams时,我总是得到旧位置。
public void moveProducts() {
float addAmmountY = -250;
TranslateAnimation anim = new TranslateAnimation(0,0,0,addAmmountY); //(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta)
anim.setDuration(1000);
final LinearLayout product_buttons = (LinearLayout)findViewById(R.id.product_buttons);
anim.setAnimationListener(new TranslateAnimation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
//TODO set new location of the linearlayout
}
});
product_buttons.startAnimation(anim);
}
答案 0 :(得分:0)
试试这个:
@Override
public void onAnimationEnd(Animation animation) {
product_buttons.requestLayout();
}
动画完成后尝试获取图像的新位置。