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

viewpager관련 질문

0 추천
안녕하세요.

현재 viewpager를 이용하여 어플을 제작중에 있는데요

페이지를 스와이프 형태로 넘기는것을 기본적으로 제공해주는 viewpager가 있어서 가져다 쓰는데, 이놈을 쓰다보니 좀 처리하기 힘든 부분이 있어서 곤란하더군요.

특정 상황에서 다른 페이지로 스와이프 자체를 금지 시키고 싶은데, 외국 포럼과 같은곳에서는 viewpager를 커스텀 클래스로 만들어서 터치 자체를 인식하지 못하게 하는 방법이 있는데, 일단 화면에 터치는 되도록 하면서 스와이프만 안되도록 하려고 하는데 아무래도 그런 방식은 문제가 있을것도 같고, 무엇보다 그 클래스를 xml에 적용도 해보고 해서 써봤는데 작동이 안되더군요..ㅠㅠ

혹시 좋은 해결책이 있을까요...어떤 특정상황의 조건을 만족시키면 다음 페이지로 넘어가게끔 만들고 싶은데...
WindTaker (120 포인트) 님이 2013년 6월 3일 질문

2개의 답변

0 추천
갤러리같은걸 응용한다던가...

아니면 viewpagar을 커스텀한 라이브러리를 사용하는게 조을것 같군요!
쿨러 (2,790 포인트) 님이 2013년 6월 3일 답변
말씀드린 방법이 제가 글에서 적은 내용인데요..ㅎㅎ;;;;;
정확히는 어떤 부분을 막아야지 스와이프가 안되는지 모르겠네요...
제가 구한 외국 소스가 onTouchEvent나 onInterceptTouchEvent때 false값을 넘겨줘서 이벤트 자체의 발생을 막는 방법인거 같던데, 일단 된다고 쳐도 다른 터치 동작이 작동하지 않는 문제가 생길거 같습니다..
onInterceptTouchEvent가 실행될떄마다 값을 확인해서
현재 터치를 on/off 하는식으로 돌리는수밖에 없을것 같은데요...이거
0 추천
터치 이벤트에

좌, 우 이벤트에 대한

예외처리를 하면 어떨까 생각됩니다.

 

예를 들어

switch

 case 왼쪽 :

     if(a)

        // 스와이프 방지하려고 하면

        return true;

      break;

 

 

이런 식으로요... (대충 형태만 쓴거니 이해 부탁드립니다.. ^^)

 

해보지 않았지만 위 방식으로하면 단순 터치시에는 문제될게 없을 것 같습니다.

제 생각일 뿐입니다. @_@
비뢰광 (7,400 포인트) 님이 2013년 6월 3일 답변
...