안드로이드/제스쳐(Gestures)

안드로이드 스튜디오 손가락 제스쳐

resky123 2019. 5. 7. 11:40

float distance = 0;
float pressedX = 0;

 

public boolean onTouchEvent(MotionEvent event) {

switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN:
        pressedX = event.getX();
        return true;

    case MotionEvent.ACTION_UP:
        distance = pressedX - event.getX();
        // 해당 거리가 100이 되지 않으면 이벤트 처리 하지 않는다.
        if (Math.abs(distance) < 100) {
            return false;
        }

        if (distance > 30) {
            // 손가락을 왼쪽으로 움직였으면 오른쪽 화면이 나타나야 한다.
            Intent intent = new Intent(NormalHome.this, PartnerHome.class);
            startActivity(intent);
            // 첫번째 속성 : 나올 액티비티, 두번째 속성 : 현재 액티비티
            overridePendingTransition(R.anim.appear_from_right, R.anim.disappear_to_left);
            finish();
        } else {
        // 손가락을 오른쪽으로 움직였으면 왼쪽 화면이 나타나야 한다.
        // Intent intent = new Intent(NormalHome.this, PartnerHome.class);
        // startActivity(intent);
        // overridePendingTransition(R.anim.appear_from_left, R.anim.disappear_to_right);
        }
        return false;
    }
    return false;
}

 

간만에 해봤더니 헷갈려서 작성