public class SwipeViewPager extends ViewPager {
private boolean enabled;

public SwipeViewPager(Context context) {
super(context);
}

public SwipeViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}

@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
if (enabled) {
return super.onInterceptTouchEvent(ev);
} else {
if (MotionEventCompat.getActionMasked(ev) == MotionEvent.ACTION_MOVE) {
// ignore move action
} else {
if (super.onInterceptTouchEvent(ev)) {
super.onTouchEvent(ev);
}
}
return false;
}
}

@Override
public boolean onTouchEvent(MotionEvent ev) {
if (enabled) {
return super.onTouchEvent(ev);
} else {
return MotionEventCompat.getActionMasked(ev) != MotionEvent.ACTION_MOVE && super.onTouchEvent(ev);
}
}

public void setPagingEnabled(boolean enabled) {
this.enabled = enabled;
}
}

 

setPagingEnabled(false)를 하면 스와이프해서 페이지 이동을 막을 수 있음

'android' 카테고리의 다른 글

android studio plugin  (0) 2021.07.28
startActivityForResult @Deprecated 되어 변경된 코드 예시  (0) 2021.06.25
안드로이드 로그 레벨 색상  (0) 2019.08.12
String to byte 계산  (0) 2019.04.08
urlEncode, urlDecode  (0) 2019.04.08

+ Recent posts