如何在一个LinearLayout中同步滚动十个gridView

时间:2013-01-12 06:05:10

标签: android android-layout scrollview android-gridview

我有两个相同大小的gridView。如何进行同步滚动。 我可以禁用gridView滚动并启用LinearLayout滚动吗?

<LinearLayout
     android:layout_width="1080dp"
     android:layout_height="700dp"
     android:layout_alignParentTop="true"
     android:orientation="horizontal"
     android:layout_marginLeft="0dp"
         android:layout_marginTop="0dp"
     >
     <GridView
         android:id="@+id/gridView1"
         android:layout_width="60dp"
         android:layout_height="match_parent"
         android:numColumns="1"
         >
     </GridView>
     <GridView
         android:id="@+id/gridView2"
         android:layout_width="240dp"
         android:layout_height="match_parent"
         android:numColumns="1" >
     </GridView>
</LinearLayout>

1 个答案:

答案 0 :(得分:1)

Could I disable gridView scrolling and enable LinearLayout scrolling?

对于这个问题。没有另外一种更有效的方法。

GridView通过其AbsLisView父级提供smoothScrollToPosition(int)setSelection(int)方法。这将滚动到您想要的位置。现在,您应该使用OnScrollListener收听ScrollEvent。

现在只需将这些代码添加到一起:

GridView other;
@Override public void onScroll(AbsListView view, int firstItem, int visItems, int total) {
   other.smoothScrollToPosition(firstItem);
}

希望它会有所帮助。