【发布时间】:2011-11-19 06:44:03
【问题描述】:
当我尝试在 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 的绝对定位 时,我不确定该怎么做。
我们将不胜感激任何和所有的想法。
【问题讨论】:
-
请提供更多代码详情。
标签: android android-layout android-emulator android-widget