viewPager是android扩展包v4中的类,这个类可以使用户左右切换当前的view。
特性:
1.viewPager直接继承了viewGroup类,所以它是一个容器类,可以在其中添加其它的view
2.viewPager类需要一个PagerAdapter适配器类给他提供数据
3.viewPager经常个Fragment一起使用,并且提供了专门的FragmentPagerAdapter和FragmentStatePagerAdapter类
主意:在编写viewpager的使用中,还需要使用两个组件分别是PagerTitleStrip和PagerTabStrip类,PagerTitleStrip类直接集成了ViewGroup类,而PagerTabStrip继承了PagerTitleStrip类,所以这两个类也是容器类
代码XML:
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<android.support.v4.view.PagerTabStrip
android:id="@+id/tabstrip"
    android:layout_width="wrap_content"
android:layut_heigth="50dip"
android:gravity="center"/>
</android.support.v4.view.ViewPager>
MainActivity.java:
   ArrayList<View> viewContainter = new ArrayList<View>();    ArrayList<String> titleContainer = new ArrayList<String>();//取消tab下面的长横线
tabStrip.setDrawFullUnderline(flase);
//设置tab的背景颜色
tabStrip.setBackGroundColor(this.getResources().getColor(R.color.red) );
/设置当前tab页的下划线颜色
tabStrip.setTabIndicatorColor(this.getResources().getColor(R.color.red) );
tabStrip.setTextSpacing(200);
     View view1 = LayoutInflater.from(this).inflate(R.layout.tab1, null);        View view2 = LayoutInflater.from(this).inflate(R.layout.tab2, null);        View view3 = LayoutInflater.from(this).inflate(R.layout.tab3, null);        View view4 = LayoutInflater.from(this).inflate(R.layout.tab4, null);      //viewpager开始添加view        viewContainter.add(view1);        viewContainter.add(view2);        viewContainter.add(view3);        viewContainter.add(view4);      //页签项        titleContainer.add("网易新闻");        titleContainer.add("网易体育");        titleContainer.add("网易财经");        titleContainer.add("网易女人");     pager.setOnPageChangeListener(new OnPageChangeListener() {            @Override            public void onPageScrollStateChanged(int arg0) {                Log.d(TAG, "--------changed:" + arg0);            }            @Override            public void onPageScrolled(int arg0, float arg1, int arg2) {                Log.d(TAG, "-------scrolled arg0:" + arg0);                Log.d(TAG, "-------scrolled arg1:" + arg1);                Log.d(TAG, "-------scrolled arg2:" + arg2);            }            @Override            public void onPageSelected(int arg0) {                Log.d(TAG, "------selected:" + arg0);            }        });
原文:http://www.cnblogs.com/yiweiaimeng/p/4925338.html