很簡單的問題: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