Когда я пытаюсь применить анимацию перевода к ImageView
, изображение просто полностью исчезает.Я не уверен, почему это произойдет, потому что я запустил этот код через отладчик eclipse, и значения для x_start и x_final кажутся правильными.
Любые идеи о том, почему это происходит или как я могу заставить мой TranslateAnimation
работать?
chargeButton.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int x_cord = (int) event.getRawX();
int y_cord = (int) event.getRawY();
switch (event.getActionMasked()){
case MotionEvent.ACTION_DOWN:
break;
case MotionEvent.ACTION_MOVE:
chargeButton.setLayoutParams(setPosition(x_cord, false));
break;
case MotionEvent.ACTION_UP:
int x_start = x_cord;
x_cord = 0;
slowMove(x_start, x_cord, false);
chargeButton.setLayoutParams(setPosition(x_cord, false));
break;
default:
break;
}
return true;
}
});
}
public void slowMove(int x_start, int x_final, boolean pay)
{
Animation transAnimation = new TranslateAnimation(x_start, x_final, 0, 0);
transAnimation.setFillAfter(true);
transAnimation.setDuration(1000);
if (pay)
payButton.startAnimation(transAnimation);
else
{
chargeButton.clearAnimation();
chargeButton.startAnimation(transAnimation);
}
}
Еще немного фона, эта функция вызывается из onTouchListener
под MotionEvent.ACTION_UP
делом.
Я чувствую, что мне нужно использовать Animation.Relative_TO_SELF или что-то подобное для позиционирования.Тем не менее, я не уверен, как это сделать, когда у меня есть только абсолютное позиционирование ImageViews.
Любые идеи будут высоко оценены.