Ich habe SwipeRefreshLayout
und ViewPager
in meiner App implementiert, aber es gibt ein großes Problem: Wenn ich nach links / rechts wische, um zwischen den Seiten zu wechseln, ist das Scrollen zu empfindlich. Ein kleines Wischen nach unten löst auch die SwipeRefreshLayout
Aktualisierung aus.
Ich möchte ein Limit festlegen, wann das horizontale Wischen beginnt, und dann das horizontale Wischen nur erzwingen, bis das Wischen beendet ist. Mit anderen Worten, ich möchte das vertikale Wischen abbrechen, wenn sich der Finger horizontal bewegt.
Dieses Problem tritt nur auf ViewPager
, wenn ich nach unten wische und die SwipeRefreshLayout
Aktualisierungsfunktion ausgelöst wird (der Balken wird angezeigt) und dann meinen Finger horizontal bewege. Es sind immer noch nur vertikale Wischbewegungen zulässig.
Ich habe versucht, die ViewPager
Klasse zu erweitern , aber es funktioniert überhaupt nicht:
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;
}
}
Layout 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>
Jede Hilfe wäre dankbar, danke
SwipeRefreshLayout
?