ViewPager的简单使用

来源:互联网 发布:软件开发哪个大学好 编辑:程序博客网 时间:2024/03/29 19:59

1.添加

  

<android.support.v4.view.ViewPager
        android:id="@+id/id_viewpager"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1" >
    </android.support.v4.view.ViewPager>

    //<include layout="@layout/bottom_bar" />//引入xml文件

2.

  private ViewPager viewPager;//定义ViewPager
 private PagerAdapter mAdapter;//定义ViewPager的适配器PagerAdapter
 private List<View> mViews;//保存视图的list
 private LayoutInflater mInflater;//该对象用来加载xml文件为视图view
 private int currentIndex;//目前的下表
 3.

mInflater = LayoutInflater.from(this);//得到LayoutInflater对象

 

4/**
   *初始化View
   */
  initView();

 

 

public void initView() {
  // TODO Auto-generated method stub
  //得到LinearLayout
  mTabBtnWeixin = (LinearLayout) findViewById(R.id.id_tab_bottom_weixin);
  mTabBtnFrd = (LinearLayout) findViewById(R.id.id_tab_bottom_friend);
  mTabBtnAddress = (LinearLayout) findViewById(R.id.id_tab_bottom_contact);
  mTabBtnSettings = (LinearLayout) findViewById(R.id.id_tab_bottom_setting);
  //创建集合
  mViews = new ArrayList<View>();
  //把xml文件转换为view对象
  View first = mInflater.inflate(R.layout.main_tab_01, null);
  View second = mInflater.inflate(R.layout.main_tab_02, null);
  View third = mInflater.inflate(R.layout.main_tab_03, null);
  View fourth = mInflater.inflate(R.layout.main_tab_04, null);
  //添加view到集合里面
  mViews.add(first);
  mViews.add(second);
  mViews.add(third);
  mViews.add(fourth);
  //初始适配器
  mAdapter = new PagerAdapter(){

   @Override
   public int getCount() {
    // TODO Auto-generated method stub
    return mViews.size();//得到集合的大小
   }

   @Override
   public boolean isViewFromObject(View arg0, Object arg1) {
    // TODO Auto-generated method stub
    return arg0==arg1;//判断对象是否相等
   }

   @Override
   public void destroyItem(ViewGroup container, int position,
     Object object) {
    // TODO Auto-generated method stub
    container.removeView(mViews.get(position));//移除view对象
   }

   @Override
   public Object instantiateItem(ViewGroup container, int position) {
    // TODO Auto-generated method stub
    View view=mViews.get(position);//得到view
    container.addView(view);//添加view到viewgroup
    return view;
   }

   
   
   
   
  };
  
 }
 

5

//设置适配器
  viewPager.setAdapter(mAdapter);
  //注册事件监听
  viewPager.setOnPageChangeListener(new OnPageChangeListener(){

   @Override
   public void onPageScrollStateChanged(int arg0) {
    // TODO Auto-generated method stub
    
   }

   @Override
   public void onPageScrolled(int arg0, float arg1, int arg2) {
    // TODO Auto-generated method stub
    
   }

   @Override
   public void onPageSelected(int position) {
    // TODO Auto-generated method stub
    resetTabBtn();
    switch (position)
    {
    case 0:
     ((ImageButton) mTabBtnWeixin.findViewById(R.id.btn_tab_bottom_weixin))
       .setImageResource(R.drawable.tab_weixin_pressed);
     break;
    case 1:
     ((ImageButton) mTabBtnFrd.findViewById(R.id.btn_tab_bottom_friend))
       .setImageResource(R.drawable.tab_find_frd_pressed);
     break;
    case 2:
     ((ImageButton) mTabBtnAddress.findViewById(R.id.btn_tab_bottom_contact))
       .setImageResource(R.drawable.tab_address_pressed);
     break;
    case 3:
     ((ImageButton) mTabBtnSettings.findViewById(R.id.btn_tab_bottom_setting))
       .setImageResource(R.drawable.tab_settings_pressed);
     break;
   }
    currentIndex = position;
  }});

 

 总结:1.<android.support.v4.view.ViewPager
        android:id="@+id/id_viewpager"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1" >
    </android.support.v4.view.ViewPager>

2.得到ViewPager

3.初始化各个view对象。。。

4.注册适配器

6.注册页面监听

 

 

 

 

 

 

 

 

0 0