как смахнуть кнопку на событие Touch в андроиде

Как провести пальцем по сенсорному событию Android с указанием направления влево, вправо, вверх, вниз ...? ... Я новичок в Android и хочу разработать приложение обратного вызова. Пожалуйста, помогите, предоставив некоторые ссылки

callbackButton.setOnTouchListener(new OnTouchListener() {

    private float currX;
    private float currY;

    @Override
    public boolean onTouch(View v, MotionEvent event) {

        float x1 = 0, x2, y1 = 0, y2, dx, dy , oldx =0,oldy=0;
        String direction;

        switch(event.getAction()) {

        case MotionEvent.ACTION_DOWN:
            oldx = event.getX();
            oldy = event.getY();
            break;

        case MotionEvent.ACTION_MOVE:

            x2 = event.getX();
            y2 = event.getY();
            dx = x2-x1;
            dy = y2-y1;

            // Use dx and dy to determine the direction
            if(Math.abs(dx) > Math.abs(dy)) {
                if(dx>0) {
                    direction = "right";
                    Log.e("right...","moving..");
                }else{
                    direction = "left";
                    Log.e("left...","moving..");
                }
            } else {
                if(dy>0) {
                    direction = "down";
                    Log.e("down...","moving..");

                    currX = event.getRawX();
                    currY = event.getRawY();

                    Log.e("x=", ""+(currX-oldx));
                    Log.e("y=", ""+(currY-oldy));

                    MarginLayoutParams marginParams = new MarginLayoutParams(v.getLayoutParams());
                    marginParams.setMargins((int)(currX-oldx), (int)(currY-oldy),0, 0);

                    RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(marginParams);
                    v.setLayoutParams(layoutParams);
                } else {
                    direction = "up";
                    Log.e("up...","moving..");
                }
            }
        }
        return true;
    }
});

Это мой код для перемещения изображения на сенсорное изображение. Но этот код не работает, как я хочу

Ответы на вопрос(2)

Ваш ответ на вопрос