private View.OnTouchListener imgListener = new View.OnTouchListener() {
private int lastX;
@Override
public boolean onTouch(View v, MotionEvent event) {
//取得絕對位置
//rawX 觸摸點與螢幕最左上角的距離
int rawX = (int) event.getRawX();
//觸摸點與view最左上角的距離
// int x = (int) event.getX();
switch (event.getAction()) { //判斷觸控的動作
case MotionEvent.ACTION_DOWN:// 按下圖片時
//= view左上角 與 螢幕左上角的距離 - 觸摸點相對於螢幕的距離 為了讓手指觸控點可以完全貼到螢幕最邊邊
mOffsetX = v.getX() - rawX; // = -event.getX()
case MotionEvent.ACTION_MOVE:// 移動圖片時
//移動到手指觸控點 + 偏移量(若沒加偏移量view左邊貼其螢幕後則不會再往左)
v.setX(rawX + mOffsetX);
break;
case MotionEvent.ACTION_UP:
break;
}
return true;
}
};
留言
張貼留言