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 |