Saya telah menerapkan SwipeRefreshLayout
dan ViewPager
di aplikasi saya, tetapi ada masalah besar: kapan pun saya akan menggeser ke kiri / kanan untuk beralih antar halaman, pengguliran terlalu sensitif. Sedikit gesekan ke bawah akan memicu SwipeRefreshLayout
penyegaran juga.
Saya ingin menetapkan batas kapan gesekan horizontal dimulai, lalu paksa horizontal hanya sampai gesekan selesai. Dengan kata lain, saya ingin membatalkan gesekan vertikal saat jari bergerak secara horizontal.
Masalah ini hanya terjadi pada ViewPager
, jika saya menggesek ke bawah dan SwipeRefreshLayout
fungsi refresh dipicu (bilah ditampilkan) dan kemudian saya menggerakkan jari saya secara horizontal, itu masih hanya memungkinkan gesekan vertikal.
Saya sudah mencoba untuk memperluas ViewPager
kelas tetapi tidak berhasil sama sekali:
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;
}
}
Tata letak 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>
bantuan apa pun akan dihargai, terima kasih
SwipeRefreshLayout
?