如何在 scrollview 中一起滚动两个 gridview 和一个 imageview

How to scroll two gridview and an imageview inside scrollview together

我在滚动视图中有 2 个网格视图和一个图像视图,我想一起滚动这些视图。

第一个 gridview 只有 4 个项目,第二个 gridview 有超过 4 个项目。

那么可以一起滚动吗

我的布局是,

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

<android.support.v4.view.ViewPager
    android:id="@+id/viewPager"
    android:layout_width="match_parent"
    android:layout_height="170dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true" >

</android.support.v4.view.ViewPager>

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="14dp"
    android:layout_marginTop="14dp"
    android:src="@drawable/logo_small"
    android:contentDescription="@string/app_name" />

<ImageView
    android:id="@+id/imageView3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignTop="@+id/imageView2"
    android:layout_marginRight="14dp"
    android:src="@drawable/next"
    android:contentDescription="@string/app_name" />

<ImageView
    android:id="@+id/imageView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/imageView1"
    android:layout_below="@+id/imageView1"
    android:layout_marginTop="32dp"
    android:contentDescription="@string/app_name"
    android:src="@drawable/prev" />

<ScrollView
    android:id="@+id/scrollView1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@+id/viewPager"
    android:layout_centerHorizontal="true"
    android:isScrollContainer="true" >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <GridView
            android:id="@+id/gridView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:numColumns="2" >
        </GridView>

        <ImageView
            android:id="@+id/iv"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/gridView1"
            android:src="@drawable/ads" >
        </ImageView>

        <GridView
            android:id="@+id/gridView2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:numColumns="2"
            android:layout_below="@+id/iv" >
        </GridView>

    </RelativeLayout>
</ScrollView>

</RelativeLayout>

将一个 Scrollable 视图放在另一个视图上不是好的做法。 因为 GridView 已经可以滚动了。

如果你想这样做,你可以参考下面的链接

  1. Problems with GridView inside ScrollView in android
  2. How to put GridView inside ScrollView