天天看點

APP首頁面Tab實作(四) ViewPager+FragmentPagerAdapter4. ViewPager+FragmentPagerAdapter

4. ViewPager+FragmentPagerAdapter

ViewPager可以實作滑動效果,不同頁面使用Fragment,便于代碼管理。

4.1 主xml布局檔案

<include layout="@layout/market_header"/>
    
    <android.support.v4.view.ViewPager
        android:id="@+id/vp_main"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"></android.support.v4.view.ViewPager>
    
    <include layout="@layout/market_bottom"/>
           

4.2 建立不同頁面的布局檔案和對應的Fragment類(看前面章節)

4.3 首頁面定義對應對象

private ViewPager mViewPager;
private FragmentPagerAdapter mAdapter;
private List<Fragment> mFragments;
           

4.4 mFragment中添加對應Fragment對象

UpdatingsFragment updatingsFragment = new UpdatingsFragment();
mFragments.add(updatingsFragment);
...
           

4.5 擴充卡定義

mAdapter = new FragmentPagerAdapter(getSupportFragmentManager()) {
     @Override
     public Fragment getItem(int i) {
          return mFragments.get(i);
     }

     @Override
     public int getCount() {
         return mFragments.size();
     }
};
           

4.6 mPagerView設定擴充卡

4.7 Tab頁籤點選事件實作(看前面章節)

4.8 Tab頁籤跟随滑動切換

mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int i, float v, int i1) {
                
            }

            @Override
            public void onPageSelected(int i) {
                //對應Tab改變代碼
            }

            @Override
            public void onPageScrollStateChanged(int i) {

            }
        });