带标题的 ViewPager 小实例



activity_main.xml

 

<android.support.v4.view.ViewPager

       android:id="@+id/viewPager"

       android:layout_width="match_parent"

       android:layout_height="match_parent">

 

       <android.support.v4.view.PagerTabStrip        //

           android:id="@+id/tab"

           android:layout_width="match_parent"

           android:layout_height="wrap_content"/>

 

   </android.support.v4.view.ViewPager>

</RelativeLayout>


 

————————————————————————————————————————————-

 

 

<ImageView

       android:layout_width="wrap_content"

       android:layout_height="wrap_content"

       android:src="@mipmap/zw4"     四个layout 只是图片不一样,其他都一样

       android:id="@+id/imageView"

       android:layout_above="@+id/button" />

 

   <Button

       android:layout_width="wrap_content"

       android:layout_height="wrap_content"

       android:text="zw4"

       android:id="@+id/button"

       android:layout_alignParentBottom="true"

       android:layout_centerHorizontal="true" />

</RelativeLayout>


————————————————————————————————————————————————

 

 

public class MainActivity extendsAppCompatActivity {

 

   private ArrayList<View> views = new ArrayList<View>();

   private ViewPager viewPager;

   private PagerTabStrip tab;

   @Override

   protected void onCreate(Bundle savedInstanceState) {

       super.onCreate(savedInstanceState);

       setContentView(R.layout.activity_main);

       initView();

       viewPager = (ViewPager) findViewById(R.id.viewPager);

       tab = (PagerTabStrip) findViewById(R.id.tab);

        tab.setBackgroundResource(R.color.colorPrimaryDark);

       tab.setTabIndicatorColor(Color.WHITE);

//       tab.setTextSpacing(16);

       tab.setTextColor(Color.WHITE);

       tab.setDrawFullUnderline(false);

       viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {

           @Override

           public void onPageScrolled(int position, float positionOffset, intpositionOffsetPixels) {}

           @Override

           public void onPageSelected(int position) {

               switch (position){

                    case 0:

                       Toast.makeText(MainActivity.this, "刘备的", Toast.LENGTH_SHORT).show();

                        break;

                    case 1:

                       Toast.makeText(MainActivity.this, "关羽的", Toast.LENGTH_SHORT).show();

                       break;

                    case 2:

                       Toast.makeText(MainActivity.this, "张飞的", Toast.LENGTH_SHORT).show();

                        break;

                    case 3:

                       Toast.makeText(MainActivity.this, "赵云的", Toast.LENGTH_SHORT).show();

                        break;

                }

           }

           @Override

           public void onPageScrollStateChanged(int state) {}

       });

       viewPager.setCurrentItem(1);

       viewPager.setPageMargin(1);

       viewPager.setAdapter(new MyPagerAdapter(views));

    }

   /**

    * 初始化要切换的视图对象

    */

   private void initView(){

       View v1 = getLayoutInflater().inflate(R.layout.layout1,null);

       View v2 = getLayoutInflater().inflate(R.layout.layout2,null);

       View v3 = getLayoutInflater().inflate(R.layout.layout3,null);

       View v4 = getLayoutInflater().inflate(R.layout.layout4,null);

       views.add(v1);

       views.add(v2);

       views.add(v3);

       views.add(v4);

    }

 

 

 

   private static class MyPagerAdapter extends PagerAdapter{

       private String[] titles = {"刘备的","关羽的","张飞的","赵云的"};

       private ArrayList<View> views;

       public MyPagerAdapter(ArrayList<View> views){

           this.views = views;

       }

 

       @Override

       public Object instantiateItem(ViewGroup container, int position) {

           View v = views.get(position);

           container.addView(v);

           return v;

       }

 

       @Override

       public void destroyItem(ViewGroup container, int position, Objectobject) {

           //super.destroyItem(container,position, object);

           System.out.println(object);

           container.removeView(views.get(position));

       }

 

 

       @Override

       public CharSequence getPageTitle(int position) {

//            returnsuper.getPageTitle(position);

           return titles[position];    //标题处

       }

 

 

       //要切换的页面总数

       @Override

       public int getCount() {

           return views.size();

       }

 

       //验证view视图是否是指定对象

       @Override

       public boolean isViewFromObject(View view, Object object) {

           return view==object;

       }

    }

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值