Android ViewPager - 如何一次显示三个面板

时间:2017-08-15 05:22:13

标签: android

我有一个Android项目,我的客户要求我有一个类似于下图的ViewPager。

enter image description here

一次显示三个面板。当前所选面板将在中心显示完整,所选面板(如果有)之前的面板将显示为一半,并且所选面板之后的面板也将显示为一半。

你们有任何想法如何做到这一点?在Android中还是新手,当涉及到这种东西时我会慢慢迷失吗?

这是我到目前为止只显示一个面板的代码。

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

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

2 个答案:

答案 0 :(得分: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" />

爪哇:

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

以下是以下结果:

described here

答案 1 :(得分:0)

您可以覆盖PageAdaptergetPageWidth方法。例如,返回0.7f以使所有子页面仅占ViewPager宽度的70%。

或者您可以使用库:

  

https://github.com/Pixplicity/MultiViewPager

您可以在[那] [2]回答中找到有关该lib的更多信息。

相关问题