Наличие вертикальной прокрутки страниц в ViewPager

Это может быть очевидным и совершенно ненужным, но у меня возникла проблема, позволяющая использовать функции вертикальной прокрутки на страницах в VewPager, и было очень мало разрешений, которые попадали в Google и даже здесь. Я нашел некоторых претендентов на решение проблемы, но они, казалось, были расширенными и запутанными. Так что для тех, кто может искать ту же проблему, это решение. С этим (и вы захотите сделать больше строк, чем то, что я написал здесь) вы сможете вертикально прокручивать контент и прокручивать между страницами.

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); } } } 

Я открыт для критики кода, но, по крайней мере, здесь приведен пример работы

Solutions Collecting From Web of "Наличие вертикальной прокрутки страниц в ViewPager"