5
뷰 페이지가 한 방향으로 만 스크롤되는 것을 어떻게 중지시킬 수 있습니까? 예를 들어 오른쪽으로 만 스 와이프를 허용하고 왼쪽으로는 스 와이프를 허용하지 않습니다. 나는 절대적으로 막혔다. 어떤 도움이라도 대단히 감사 할 것이다. 이것을 Android 버전 2.2에서 작동하도록해야하므로 ViewPager에 compatibilty 라이브러리를 사용하고 있습니다. 당신은 원래 ViewPager를 확장 자신의 ViewPager을하고 onTouchEvent 방법보기 페이지 특정 방향으로 스 와이프 중지
public class CustomViewPager extends ViewPager {
float lastX = 0;
boolean lockScroll = false;
public CustomViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomViewPager(Context context) {
super(context);
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
lastX = ev.getX();
lockScroll = false;
return super.onTouchEvent(ev);
case MotionEvent.ACTION_MOVE:
if (lastX > ev.getX()) {
lockScroll = false;
} else {
lockScroll = true;
}
lastX = ev.getX();
break;
}
lastX = ev.getX();
if(lockScroll) {
return false;
} else {
return super.onTouchEvent(ev);
}
}
}
안녕 알리를 재정의해야합니다 –
또 다른 속임수, 다음보기로 스크롤 할 때 첫 번째 것을 삭제하십시오. 몇 분 후에 업데이트하겠습니다. –
답변을 업데이트하고 새 코드를 테스트 한 결과 효과가있었습니다. –