2013-08-19 13 views
5

Mam listę Fragmentów, które muszę umieścić w ViewPager (jak dotąd nie ma problemu).Półprzezroczysty ekran 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); 

Adapter

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; 
    } 
} 

Co potrzebne jest, aby ViewPager pokazać dwa elementy na ekranie, ale przewijać tylko przez jeden za każdym razem.

Ten obraz może pomóc mi wyjaśnić, co mam na myśli: Half screen scroll ViewPager

+2

Cześć, tutaj jest blog, może pomóc http://commonsware.com/blog/2012/08/20/multiple-view-viewpager-options.html – TeeTracker

+0

Awesome! Dokładnie tego potrzebuję! Uratowałeś mi mnóstwo czasu! – Nifhel

Odpowiedz

10

Dzięki za komentarz TeeTracker znalazłem rozwiązanie problemu. Po prostu musiałem Przestawianie getPageWidth w moim adaptera:

@Override 
public float getPageWidth(int position) { 
    return(0.5f); 
}