내가 구현 한 SwipeRefreshLayout
및 ViewPager
내 응용 프로그램에서하지만 큰 문제가 있습니다 : 내가 페이지 사이를 잘 스위치 / 왼쪽으로 스 와이프 갈거야 때마다 스크롤이 너무 민감하다. 아래로 약간 스 와이프하면 SwipeRefreshLayout
새로 고침도 트리거됩니다 .
수평 스 와이프가 시작될 때로 제한을 설정 한 다음 스 와이프가 끝날 때까지만 수평으로 강제로 설정하고 싶습니다. 즉, 손가락이 수평으로 움직일 때 수직 스 와이프를 취소하고 싶습니다.
이 문제는에서만 발생합니다. ViewPager
아래로 스 와이프하고 SwipeRefreshLayout
새로 고침 기능이 트리거 된 다음 (바가 표시됨) 손가락을 가로로 움직여도 세로 스 와이프 만 허용됩니다.
ViewPager
클래스 를 확장하려고했지만 전혀 작동하지 않습니다.
public class CustomViewPager extends ViewPager {
public CustomViewPager(Context ctx, AttributeSet attrs) {
super(ctx, attrs);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
boolean in = super.onInterceptTouchEvent(ev);
if (in) {
getParent().requestDisallowInterceptTouchEvent(true);
this.requestDisallowInterceptTouchEvent(true);
}
return false;
}
}
레이아웃 xml :
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/viewTopic"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.myapp.listloader.foundation.CustomViewPager
android:id="@+id/topicViewPager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</android.support.v4.widget.SwipeRefreshLayout>
어떤 도움을 주시면 감사하겠습니다.
SwipeRefreshLayout
? 가있는 경우 동일한 시나리오가 작동 합니까?