Uygulamamda SwipeRefreshLayoutve uyguladım ViewPagerancak 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 SwipeRefreshLayoutyenilemeyi 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 ViewPageraşağı kaydırırsam ve SwipeRefreshLayoutyenileme 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.
ViewPagerSı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?