मैंने लागू किया है 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?