2

同じサイズの 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 に答える