쭌2 블로그

[안드로이드/Android] ViewPager Swiping 제어하기 본문

IT/Android

[안드로이드/Android] ViewPager Swiping 제어하기

realjune 2018. 9. 12. 20:37


ViewPager의 Swipe 기능을 제어하는 방법을 소개합니다.



1. SwipeViewPager


ViewPager를 상속받는 Custom 클래스를 작성합니다.


public class SwipeViewPager extends ViewPager {

private boolean enabled;

public SwipeViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
this.enabled = true;
}

@Override
public boolean onTouchEvent(MotionEvent event) {
if (this.enabled) {
return super.onTouchEvent(event);
}

return false;
}

@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
if (this.enabled) {
return super.onInterceptTouchEvent(event);
}

return false;
}

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


2. XML 코드 작성


SwipeViewPager가 필요한 곳에 다음과 같이 XML 코드를 작성합니다.


<package.custom.SwipeViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent">


3. setPagingEnabled() 설정하기


Java 코드에서 swipe 기능이 필요하면 setPagingEnabled(true), 필요하지 않으면 setPagingEnabled(false)로 함수를 호출하여 ViewPager의 Swipe 기능을 제어합니다.


viewPager.setPagingEnabled(true);   // swipe 기능이 필요하면
viewPager.setPagingEnabled(false); // swipe 기능이 필요하지 않으면


Comments