2013-07-02 30 views
3

我想创建一个ViewPager与
- 所选中心项目比别人
更大 - 上一页&下一个项目的部分是始终可见。

我使用viewPager.setPageMargin(-20);来制作上一部分&下一项可见。但是,如何使选定的中心项目比其他项目稍大一点。的Android ViewPager与中心项目做大

回答

-1

您可以在onPageSelected()方法中将Layout参数设置为x%大一点。

 ViewPager pager ; 

    int prevIndex = 0; 

    int oldWidth, oldHeight, 

//initialize these to be bigger than the old ones 

newWidth, newHeight; 
    pager.setOnPageChangeListener(new OnPageChangeListener() { 

     public void onPageSelected(int index) { 

// Set the layout params of the newly selected page to be the large width and height 

      View v = pager.getChildAt(index); 

      RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
        newWidth, newHeight); 

      v.setLayoutParams(params); 

// Don't forget to set the past view to the old layout params. 

      View oldV = pager.getChildAt(prevIndex); 
      RelativeLayout.LayoutParams oldParams = new RelativeLayout.LayoutParams(
        oldWidth, oldHeight); 

      oldV.setLayoutParams(oldParams); 

      prevIndex = index; 
     } 

     public void onPageScrolled(int arg0, float arg1, int arg2) { 
      // TODO Auto-generated method stub 

     } 

     public void onPageScrollStateChanged(int arg0) { 
      // TODO Auto-generated method stub 

     } 
    }); 
+0

谢谢艾迪,我会试试... – Manjunath

+0

非常欢迎:)我希望有所帮助! 让我知道如果它不,也许有另一种方式。 –

+0

嘿,我想要类似的东西。我的Viepager项目是包含imageview的片段。我似乎无法抓住项目视图来改变布局大小。 – daesu