में पृष्ठों को लंबवत स्क्रॉल करने के बाद यह स्पष्ट और पूरी तरह से अनियंत्रित पोस्ट हो सकता है लेकिन मुझे एक VewPager में पृष्ठों पर लंबवत स्क्रॉलिंग कार्यक्षमता की अनुमति देने के लिए एक समस्या का समाधान करने में काफी समस्या आई थी और Google पर बहुत कम संकल्प आ रहे थे और यहां तक कि यहाँ। मैंने कुछ लोगों को इस मुद्दे को हल करने का दावा किया लेकिन उन्हें विस्तारित और दृढ़ लग रहा था। तो उन लोगों के लिए जो एक ही मुद्दे की तलाश कर रहे हैं उनके लिए समाधान है। इसके साथ (और आप यहां जो लिखा है उससे बड़े स्ट्रिंग बनाना चाहते हैं) आप लंबवत सामग्री को स्क्रॉल करने और पृष्ठों के बीच स्वाइप करने में सक्षम होंगे।ViewPager
layout.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.ViewPager
android:id="@+id/conpageslider"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
स्क्रॉल viewpager वर्ग
public class ScrollingViewPager extends Activity{
private ViewPager pager;
private Context cxt;
private CharSequence[] pages = {"stuff", "more stuff", "other stuff"};
private PageSlider ps;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.layout);
cxt = this;
ps = new PageSlider();
pager = (ViewPager) findViewById(R.id.conpageslider);
pager.setAdapter(ps);
}
public class PageSlider extends PagerAdapter{
@Override
public int getCount() {
return pages.length;
}
@Override
public Object instantiateItem(View collection, int position) {
ScrollView sc = new ScrollView(cxt);
sc.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
sc.setFillViewport(true);
TextView tv = new TextView(cxt);
tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
tv.setText(pages[position]);
tv.setPadding(5,5,5,5);
sc.addView(tv);
((ViewPager) collection).addView(sc);
return sc;
}
@Override
public void destroyItem(View collection, int position, Object view) {
((ViewPager) collection).removeView((ScrollView) view);
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view==((ScrollView)object);
}
}
}
मैं कोड पर आलोचना लेकिन कम से कम यहाँ के लिए खुला रहा हूँ एक कार्य उदाहरण है
यह एक क्षैतिज व्यूअर में लंबवत स्क्रॉलिंग की अनुमति देने के लिए है। इसे पूर्ण लंबवत व्यूअर के लिए जांचें https://github.com/JakeWharton/Android-DirectionalViewPager – Bastiat
तो आपने कहा कि आपका कोड वर्टिकल व्यूपेजर में परिणाम देता है, लेकिन वास्तव में केवल सामान्य, क्षैतिज रूप से, viepager है। क्या मै गलत हु ? – Paul
इस लाइब्रेरी का उपयोग करें https://github.com/castorflex/VerticalViewPager –