내 앱에서 PDF 페이지를 표시하기 위해 Android 용 호환 패키지 버전 4를 사용하고 있습니다. 가로 스크롤보기와 같은 PDF 페이지를 표시하기 위해 PagerAdapter & ViewPager를 사용했습니다.Android에서 ViewPager에서 페이징 사용 중지 및 사용 가능
이제 문제는 페이징 관련 문제입니다.이 스레드 android: ViewPager and HorizontalScrollVIew에 따라 뷰 페이지 내부에서 하위 항목을 감지하여 페이징을 중지 할 수 있지만 사용자가 해당보기 외부에 닿으면 어떻게 다시 사용할 수 있습니까? CustomViewPager에 다음 코드를 사용했습니다.
public class CustomViewPager extends ViewPager {
private boolean enabled;
private int childId;
public CustomViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
this.enabled = true;
}
public void setChildId(int childId) {
this.childId = childId;
}
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
boolean result = false;
View scroll = getChildAt(childId);
if (scroll != null) {
Rect rect = new Rect();
CommonLogic.logMessage("PDF Page Rectangle ", TAG, Log.VERBOSE);
scroll.getHitRect(rect);
if (rect.contains((int) event.getX(), (int) event.getY())) {
setPagingEnabled(false);
result = true;
}
}
return result;
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (this.enabled) {
return super.onTouchEvent(event);
}
return false;
}
public void setPagingEnabled(boolean enabled) {
this.enabled = enabled;
}
}
시도는 PDF 페이지 외부 접촉하는
는 또한if(scroll!=null)
두 방향으로 사실이된다.
ViewPager에서 페이징을 계속할 수 있도록 도와주는 방법을 알려줄 수 있습니까?
에 this.enable의 설정하고 기본값 "this.enable을 반환"을 당신이 tryed 유무 : http://stackoverflow.com/a/2655740/969325 – Warpzit