在ViewPager中垂直滚动页面

这可能是显而易见的,也是完全不需要的post,但是我一直在解决在VewPager的页面上允许垂直滚动function的问题,而且在这里甚至有很less的解决scheme。 我发现一些人声称要解决这个问题,但他们似乎被延长和纠结。 所以对于那些可能正在寻找相同问题的人inheritance解决scheme。 有了这个(你会想比我写的更大的string),你将能够垂直滚动内容,并在页面之间滑动。

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

我敢打开批评的代码,但至less在这里是一个运作的例子

Solutions Collecting From Web of "在ViewPager中垂直滚动页面"