ViewPager에서 손가락으로 스와이핑 하는걸 못하게 하고싶어요.
조회수 4099회
제 앱에 ViewPager가 있고 거기에 버튼이 10개있는데요. 만약 버튼을 클릭하면 바로 mPager.setCurrentItem(3);
으로 4번째 페이지로 가게하고싶어요. 근데 일단 손가락으로 페이지를 스와이핑하는걸 막고싶어요.
그냥 페이지에서는 버튼만 클릭되게하고싶은데 어떻게하면 좋을까요?
1 답변
-
일단 ViewPager의 하위 클래스가 필요합니다. onTouchEvent는 하위 뷰가 터치되는것을 막을 수 있고 onInterceptTouchEvent는 원하는대로 스와이핑이 안되게 막을수있습니다.
import android.content.Context; import android.support.v4.view.ViewPager; import android.util.AttributeSet; import android.view.MotionEvent; public class NonSwipeableViewPager extends ViewPager { public NonSwipeableViewPager(Context context) { super(context); } public NonSwipeableViewPager(Context context, AttributeSet attrs) { super(context, attrs); } @Override public boolean onInterceptTouchEvent(MotionEvent event) { // 스와이핑되서 페이지가 바뀌는것을 막는다. return false; } @Override public boolean onTouchEvent(MotionEvent event) { //스와이핑되서 페이가 바뀌는 것을 막는다. return false; } }
댓글 입력