2013-08-19 3 views
5

私はViewPagerに入れなければならないフラグメントのリストを持っています(これまでのところ問題ありません)。ViewPagerスクロール・ハーフ・スクリーン

ArrayList<Fragment> fragmentList = new ArrayList<Fragment>(); 
fragmentList.add(new fragment1()); 
fragmentList.add(new fragment2()); 
fragmentList.add(new fragment3()); 
fragmentList.add(new fragment4()); 
FragmentAdapter mAdapter = new FragmentAdapter(mFragmentManager, fragmentList); 
mPager = (ViewPager) view.findViewById(R.id.pager_items_list); 
mPager.setCurrentItem(0); 
mPager.setAdapter(mAdapter); 
mPager.setOnPageChangeListener(pageChangeListener); 

私は必要なものアダプター

public class FragmentAdapter extends FragmentStatePagerAdapter { 
    ArrayList<Fragment> fragmentsList; 
    public FragmentAdapter(FragmentManager fm, ArrayList<Fragment> fragmentsList) { 
     super(fm); 
     this.fragmentsList = fragmentsList; 
    } 
    @Override 
    public int getCount() { 
     return fragmentsList.size(); 
    }  
    @Override 
    public Fragment getItem(int position) { 
     if (position<fragmentsList.size() & fragmentsList.get(position)!=null) { 
      return fragmentsList.get(position); 
     } 
     return null; 
    } 
} 

はViewPagerは、画面上に2つの項目を示すが、1だけたびにスクロールするようにすることです。

この画像は私が何を意味するか説明するのに役立つことがあります。 Half screen scroll ViewPager

+2

こんにちは、ここのブログで、http://commonsware.com/blog/2012/08/20/multiple-view-viewpager-options.htmlを助けるかもしれません – TeeTracker

+0

驚くばかり!これはまさに私が必要なものです!あなたは私に多くの時間を救った! – Nifhel

答えて

10

私はあなたの問題の解決策を見つけたTeeTrackerさんのコメントに感謝します。私はちょうど私のアダプタでgetPageWidthをオーバーライドする必要がありました:

@Override 
public float getPageWidth(int position) { 
    return(0.5f); 
} 
関連する問題