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; } };
留言
張貼留言