2013-08-19 13 views
5

Ich habe eine Liste von Fragmenten, die ich in einen ViewPager einfügen muss (bisher kein Problem).ViewPager scroll halber Bildschirm

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

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

Was ich brauche, ist den ViewPager zu machen jedes Mal zeigen zwei Elemente auf dem Bildschirm, sondern bewegt nur um eins.

Dieses Bild kann helfen Sie mir erklären, was ich meine: Half screen scroll ViewPager

+2

Hallo, hier ist ein Blog, könnte helfen, http://commonsware.com/blog/2012/08/20/multiple-view-viewpager-options.html – TeeTracker

+0

Super! Genau das brauche ich! Du hast mich eine Menge Zeit gerettet! – Nifhel

Antwort

10

Dank TeeTracker Kommentar fand ich die Lösung für Ihr Problem. Ich hatte gerade getPageWidth in meinem Adapter außer Kraft setzen:

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