एक (एक समान StackOverflow सवाल से पार पोस्टिंग my answer) संभावना इस तरह स्क्रीन स्थापित कर रही है:
सी 'ABCA'
सी 'सिर्फ सी की तरह लग रहा है, लेकिन जब आप वहां स्क्रॉल करते हैं, यह आपको वास्तविक सी पर स्विच करता है। ए 'ए की तरह दिखता है, लेकिन जब आप वहां स्क्रॉल करते हैं, तो यह आपको वास्तविक ए
पर लागू करता है Iलागू करके ऐसा करता हूंतो जैसे:
@Override
public void onPageScrollStateChanged (int state) {
if (state == ViewPager.SCROLL_STATE_IDLE) {
int curr = viewPager.getCurrentItem();
int lastReal = viewPager.getAdapter().getCount() - 2;
if (curr == 0) {
viewPager.setCurrentItem(lastReal, false);
} else if (curr > lastReal) {
viewPager.setCurrentItem(1, false);
}
}
}
ध्यान दें कि यह setCurrentItem की वैकल्पिक रूप कॉल और false
गुजरता कूद तुरन्त बल्कि एक चिकनी स्क्रॉल के रूप में की तुलना में ऐसा करने के लिए पैदा करने के लिए।
इसमें दो मुख्य दोष हैं जिन्हें मैं देखता हूं। सबसे पहले, किसी भी अंत तक पहुंचने पर उपयोगकर्ता को आगे बढ़ने से पहले स्क्रॉलिंग को व्यवस्थित करना होगा। दूसरा, इसका मतलब है कि आपके पहले और अंतिम पृष्ठ में सभी विचारों की दूसरी प्रतिलिपि है। इस पर निर्भर करता है कि आपकी स्क्रीन कितनी संसाधन-भारी है, जो इस तकनीक को संभावित समाधान के रूप में रद्द कर सकती है।
ध्यान दें कि चूंकि दृश्य पेजर स्क्रॉलिंग के निपटारे के बाद तक अंतर्निहित नियंत्रणों तक क्लिक नहीं करता है, इसलिए शायद क्लिकलिस्टर्स और ए 'और सी' टुकड़ों की तरह सेट करना ठीक नहीं है।
संपादित करें: अब इसे स्वयं लागू करने के बाद, एक और सुंदर बड़ी कमी है। जब यह ए 'से ए या सी' से सी तक स्विच करता है, तो कम से कम मेरे वर्तमान परीक्षण डिवाइस पर स्क्रीन एक पल के लिए झिलमिलाहट करता है।
आप देख सकते हैं [इस ट्यूटोरियल] (http://thedeveloperworldisyours.com/android/carousel-viewpager/#sthash.rtkOS5m2.J9bGU21I .dpbs) और यह [गिटहब में उदाहरण] (https://github.com/thedeveloperworldisyours/CarouselViewPager) – Cabezas