viewpager

配置

<android.support.v4.view.ViewPager  
        android:id="@+id/viewPager"
        android:layout_width="fill_parent"  
        android:layout_height="fill_parent"
        /> 

viewpager對應的layoutandroid

<LinearLayout
            android:id="@+id/ll_detail_overview" />
          ......
</LinearLayout>

ViewPager的使用

ViewPager mPager = (ViewPager) findViewById(R.id.viewPager);    
MyPagerAdapter mPagerAdapter = new MyPagerAdapter(參數); 
mPager.setAdapter(mPagerAdapter);
mPager.setOnPageChangeListener(mOnPageChangeListener);  

 MyPagerAdapter繼承PagerAdapter實現getCount()、isViewFromObject(View arg0, Object arg1)等方法,數組

 MyPagerAdapter繼承FragmentPagerAdapter實現getItem(int arg0)、getCount()等方法。this

   mPager.setCurrentItem(position);//設置當前頁spa

   mOnPageChangeListener裏onPageSelected(int currentID)//獲得當前頁code

遇到的狀況

1,viewpager加載多個不一樣layout形式的頁blog

  頁是用view顯示的繼承

//將要分頁顯示的View裝入數組中
LayoutInflater mLi = LayoutInflater.from(this);
View view1 = mLi.inflate(R.layout.view1, null);
View view2 = mLi.inflate(R.layout.view2, null);
View view3 = mLi.inflate(R.layout.view3, null);         

final ArrayList<View> views = new ArrayList<View>();
views.add(view1);
views.add(view2);
views.add(view3)

  views用MyPagerAdapter(參數)的形式傳遞過去,進行處理。get

  頁是fragment顯示的it

FragmentManager fm = getSupportFragmentManager();    
mPagerAdapter = new MyPagerAdapter(fm); 

//MyPagerAdapter中的方法,得到相應fragment,每一個fragment對應一個layout
public Fragment getItem(int arg0) {
    Fragment fragment = null;
    switch (arg0) {
        case 0:
            fragment = new DetailFragment1();
            break;
        case 1:
            fragment = new DetailFragment2();    
            break;
                 }    
    returen fragment;
}        

  也能夠像views的方法以一個list參數的形式傳遞過去。io

 

2,viewpager加載一個layout形式的多頁

  待續。。。

 

viewpager能呈現多頁滑動效果,試試哦!!

相關文章
相關標籤/搜索