마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 터치이벤트 종료 또는 초기화 방법에 대한 질문입니다

0 추천
레이아웃.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View view, MotionEvent motionEvent) {
        if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {         
        이벤트
        }
        
    if (motionEvent.getAction() == MotionEvent.ACTION_UP) {
            이벤트
    }

        if(motionEvent.getAction() == MotionEvent.ACTION_MOVE){
            final int x = (int) motionEvent.getX();
            final int y = (int) motionEvent.getY();

            int slop = ViewConfiguration.get(view.getContext()).getScaledTouchSlop();
            if ((x < 0 - slop) || (x >= view.getWidth() + slop) || (y < 0 - slop) || (y >= view.getHeight() + slop)) {
                Log.e("영역밖입니다","영역밖입니다");
            }
        }

        return true;
    }
});

 

한 화면에 위와같은 이벤트가 지정되있는 뷰가 10개 그려져 있다고 가정했을때

해당뷰에서 터치move 이벤트가 발생하여 다른뷰 영역으로 이동하였을경우

현재 뷰에서 실행되고있던 이벤트가 중지되며 침범한 영영에 존재하는 뷰에터치이벤트가 실행될수있도록 구현하고 싶은데 어떤식으로 구현해야 할지를 모르겠습니다

 

기존 10개의 뷰의 배경색이 흰색이라고 할때 터치를 하면 뷰의 배경색상이 검은색으로 바뀐다고 할때

다른 영역으로 터치가 이동되면 검은색으로  바뀐영역이 다시 흰색으로 돌아가고

터치가 이동한 뷰의 배경색은 검은색으로 바뀌도록...

영역을 넘어갔을때 이벤트를 move이벤트를 종료시키고 현재 touch된 영역에 이벤트를 실행시켜 주면 될거같은데 터치 이벤트를 종료시키는 메소드가 있는지 잘 모르겠네요

 

혹시 아시는 방법이나 다른 방법으로도 구현가능한지 제가 생각하는 방법은 불가능한 방법인지 조언좀 부탁 드리겠습니다.
tonecolor (410 포인트) 님이 2015년 11월 26일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...