很简单的问题:Android - 用setTransationX()移动按钮
假设我们有一个名为btnMove的按钮,我们要移动它。为了移动它,我想使用setTranslationX和setTranslationY。
为了做到这一点,我写了下面的代码:
public boolean onTouch(View view, MotionEvent event){
float currX,currY;
int action = event.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
{
mPrevX = event.getRawX();
mPrevY = event.getRawY();
break;
}
case MotionEvent.ACTION_MOVE:
{
currX = event.getRawX();
currY = event.getRawY();
btnMove.setTranslationX(currX - mPrevX);
btnMove.setTranslationY(currY - mPrevY);
break;
}
case MotionEvent.ACTION_CANCEL:
break;
case MotionEvent.ACTION_UP:
break;
}
return true;
}
非常简单。我的问题是,一旦我们移动了按钮,如果我再次移动它,它就会回到起始位置,然后按照所绘制的矢量移动。事情是我不希望它在移动之前回来,我希望它从我放弃它的地方移开!
我试图寻找fillAfter(true)之类的东西,但似乎只适用于动画。
希望我们会尽快想出解决办法:)
BRO