2017-08-15 82 views
0

我有一个android项目,我的客户要求我有一个类似于下图的ViewPager。Android ViewPager - 如何一次显示三个面板

enter image description here

显示在时间3个面板。当前选定的面板将在中央显示完整,在选定面板之前(如果存在)的面板将显示一半,而选定面板之后的面板也将显示为一半。

你们有什么想法如何做到这一点?在Android中还是一个新的东西,当它涉及到这种东西时,它会慢慢迷失方向?

这是我迄今为止只会显示一个面板的代码。

ViewPager viewPagerShopPortfolio = (ViewPager) 
mShopPortfolioImageAdapter = new ShopPortfolioImageAdapter(getChildFragmentManager(), portfolioListingModelList); 
viewPagerShopPortfolio.setAdapter(mShopPortfolioImageAdapter); 

这就是我的应用现在的样子,它只显示一个面板。 enter image description here

回答

1

嘛,我发现这第二个解决方案使用下面的代码:

XML:

<android.support.v4.view.ViewPager 
    android:id="@+id/viewPagerShopPortfolio" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:gravity="center" 
    android:clipToPadding="false" 
    android:paddingLeft="60dp" 
    android:paddingRight="60dp" 
    android:background="@color/colorFontWhite" /> 

的Java:

ViewPager viewPagerShopPortfolio = (ViewPager) view.findViewById(R.id.viewPagerShopPortfolio); 
viewPagerShopPortfolio.setPageMargin(30); 

这里是以下结果:

enter image description here

0

你可以覆盖getPageWidth方法PageAdapter。例如,返回0.7f让所有子页面只占用ViewPager宽度的70%。

或者你可以使用库:有关LIB也可以在[是] [2]答案找到

https://github.com/Pixplicity/MultiViewPager

更多信息。

+0

很好的答案。我将把它应用到我的项目中:P –