Uygulamamda SwipeRefreshLayout
ve uyguladım ViewPager
ancak büyük bir sorun var: Sayfalar arasında geçiş yapmak için sola / sağa kaydıracağım zaman kaydırma çok hassas. Biraz aşağı kaydırmak da SwipeRefreshLayout
yenilemeyi tetikleyecektir .
Yatay kaydırmanın başlayacağı zamana bir sınır ayarlamak ve ardından yalnızca kaydırma bitene kadar yatay kaydırmaya zorlamak istiyorum. Başka bir deyişle, parmak yatay hareket ederken dikey kaydırmayı iptal etmek istiyorum.
Bu sorun yalnızca ViewPager
aşağı kaydırırsam ve SwipeRefreshLayout
yenileme işlevi tetiklenirse (çubuk gösterilir) ve ardından parmağımı yatay olarak hareket ettirirsem oluşur, yine de yalnızca dikey kaydırmalara izin verir.
ViewPager
Sınıfı uzatmaya çalıştım ama hiç çalışmıyor:
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;
}
}
Düzen 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>
herhangi bir yardım takdir edilecektir, teşekkürler
SwipeRefreshLayout
?