1

こんにちは、私は gridView を実装しています。すべてのスクロール イベントで一度に 1 行ずつ下にスクロールするのに問題があります。

私のグリッドの高さは 1 行アイテムです (アイテムの高さは 75 dp)。スクロールを行の途中に残したくない。

固定値の例のみを返すように、スクロール距離をインターセプトして変更する方法はありますか?例: +-75dp。

あなたが私に与えることができる助けや提案をいただければ幸いです。tnx

4

1 に答える 1

2

APIv8には、smoothScrollBy(int distance、int duration)[1]と呼ばれる新しい関数があります。

すべてのスクロールイベントをキャッチし、ビューをスクロールするための独自のメソッドを実装する必要があると思います。75dpでスクロールしたい場合は、ピクセルに変換して上記の関数を使用してください。

float density = getContext().getResources().getDisplayMetrics().density;
int scrollBy = (int)(density * 75);
smoothScrollBy(scrollBy, 0);

ただし、定数値(75dpなど)を使用する代わりに、GridViewからscrollByを計算すると便利です。

[1]:http ://developer.android.com/reference/android/widget/AbsListView.html#smoothScrollBy (int、int)

于 2011-01-22T14:07:43.477 に答える