반응형
공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
|
안드로이드 ViewPager 의 좌우 swipe를 disable 하는 방법입니다.
Custom ViewPager 클래스가 필요합니다.
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;
public class NonSwipeViewPager extends ViewPager {
public NonSwipeViewPager(@NonNull Context context) {
super(context);
}
public NonSwipeViewPager(@NonNull Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
return false;
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
return false;
}
}
onInterceptTouchEvent 와 onTouchEvent는 swipe 되어서 페이지가 바뀌는 걸
방지합니다.
override 해서 return을 둘 다 false로 주면 됩니다.
그리고 xml에서 ViewPager 대신에
<superbrain.rowan.com.rowancareadmin.NonSwipeViewPager
app:layout_constraintTop_toBottomOf="@+id/daysRecyclerView"
app:layout_constraintBottom_toTopOf="@+id/menuTab"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:id="@+id/menuPager"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center"/>
이렇게 사용해주면 됩니다.
이상입니다.
반응형