ViewPager에 Touch로 인한 Page 이동을 막고자 할 때 아래와 같이 Custom한 ViewPager를 사용 하세요.
package com.namuon.ringq.widget.viewpager;
import android.content.Context;
import android.support.v4.view.MotionEventCompat;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;
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;
}
}
참고 : http://stackoverflow.com/a/36614266/3534559
setPagingEnabled 에 false를 주게 되면 Touch로 인한 paging을 막을 수 있습니다.
참고 하세요.
'나의 플랫폼 > 안드로이드' 카테고리의 다른 글
[Android] Intent.FLAG_ACTIVITY_NO_HISTORY (0) | 2016.10.21 |
---|---|
[Android] TextView가 Ellipis 상태인지 체크 하는 방법 (0) | 2016.10.19 |
[Android] Edittext 에 Number와 '-'만 적용되게 하기 (0) | 2016.10.06 |
[Android] RadioButton에서 텍스트와 간격 넓히기 (0) | 2016.10.04 |
[Android] Edittext에 포커스 주기 (1) | 2016.09.07 |