【问题标题】:ViewPager like playstoreViewPager 类似于 playstore
【发布时间】:2025-11-24 06:45:01
【问题描述】:

我正在尝试使 viewpager 像在电影、音乐、书籍部分的 google playstore 中一样工作。

下面是一张截图:

这是我想要的viewpager的截图:

下面是我的xml代码:

 <android.support.v4.view.ViewPager
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/vp"
        android:layout_width="match_parent"
        android:layout_height="160dp"
        android:layout_marginBottom="5dp">
    </android.support.v4.view.ViewPager>

下面是java代码:

  ViewPager vp;
    int mResources[]= {R.drawable.b,R.drawable.c,R.drawable.d};
    vp = (ViewPager)findViewById(R.id.vp);
    vp.setPageMargin(-10);
    vp.setAdapter(new ViewPageAdapter(ViewPagerActivity.this,mResources));

以下是单个项目的xml:

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:background="#eee"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_width="match_parent"
android:layout_height="220dp">

<android.support.v7.widget.CardView
    android:elevation="10dp"
    app:cardCornerRadius="10dp"
    android:layout_margin="10dp"
    android:layout_width="match_parent"
    android:layout_height="200dp">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="fitXY"
        android:src="@drawable/c"
        android:id="@+id/imageView" />

</android.support.v7.widget.CardView>

提前感谢您的帮助

【问题讨论】:

  • 确实第一个屏幕截图包含一个viewpager,但第二个屏幕截图只是一个水平滚动视图。所以你想要的可能只是一个水平滚动视图。
  • 第二个只是第一个屏幕截图的一部分

标签: android android-viewpager


【解决方案1】:

如果我没记错的话,您需要一个 ViewPager,它的下一个/上一个项目部分显示。

如果是这样,通过ViewPager.setPageMargin(int) 为viewPager 设置负页边距,并为每个项目的左右添加(正)边距。

希望对你有帮助。

【讨论】:

    【解决方案2】:

    您应该将 RecyclerView 与具有水平方向的 LinearLayoutManager 一起使用。这个post 应该回答你的问题。 ViewPager 通常与整个片段一起使用,而不是根据documentation 在这些片段中滚动组件。

    【讨论】:

      最近更新 更多