我有两个相同大小的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>
答案 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);
}
希望它会有所帮助。