2013-08-19 3 views
5

Bir ViewPager'a koymam gereken Fragment'lerin bir listesi var (şu ana kadar sorun yok).ViewPager kaydırma yarım ekranı

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

adaptör

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

Benim ihtiyacım ekranda iki öğeleri göstermek için ViewPager yapmak, ama biri her zaman sadece kaydırmak etmektir. TeeTracker yorumuna Half screen scroll ViewPager

+2

Hi, burada bir blog, http://commonsware.com/blog/2012/08/20/multiple-view-viewpager-options.html yardımcı olabilecek – TeeTracker

+0

Awesome! Bu tam ihtiyacım olan şey! Bana bir lotof zamanı kurtardın! – Nifhel

cevap

10

Teşekkür senin sorununa çözüm bulundu:

Bu görüntü Ne demek açıklanmasına yardımcı olabilir. Sadece benim Adaptörü'nde getPageWidth geçersiz kıl zorunda:

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