2013-08-19 9 views
5

मेरे पास फ्रैगमेंट्स की एक सूची है जिसे मुझे व्यूपेगर में रखना है (अब तक कोई समस्या नहीं है)।व्यूपेजर स्क्रॉल आधा स्क्रीन

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 करते हैं, लेकिन एक हर बार से केवल स्क्रॉल करने के लिए है।

इस छवि को मदद मिल सकती है मुझे समझाने मैं क्या मतलब है: 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); 
} 
संबंधित मुद्दे