2

我有两个相同大小的 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>
4

1 回答 1

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);
}

希望它会有所帮助。

于 2013-01-12T06:11:40.573 回答