[ android ] 移動view

 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;
        }
    };

留言