2011-08-18 15 views
8

GestureDetectorを使用して、カスタムView内のスクロールを実装します。 Smooth scrolling with inertia and edge resistance/snapbackGestureDetector onScrollでのスクロール遅れ

私はonScrollメッセージを調べて、最初のものが大きな指の動きの後に到着することに気付きました。これは、最初に顕著な遅れを引き起こしますスクロールのその後、スクロールはスムーズです。

(ところで、私はsetIsLongpressEnabled(false)を設定)のみmotionevents間の最小距離の後onScrollメッセージを送信GestureDetector開始はジェスチャーがlongtapまたはタップではないことを確認しているようです。

低レベルのタッチイベントを使用してカスタムスクロールジェスチャーを実装せずにこの動作を変更し、滑らかなスクロールを作成する方法はありますか?

答えて

10

答えはいいえ、自分で作成する必要がありますGestureDetector。 Androidのソースコード(GestureDetector.java)を見ると、524行目から540行目は1回のタップで「タッチ・スロープ」を検出するために使用されます。具体的には、行528は、移動がタッチ・スロープの外側(ビュー構成から引かれる)になるまでonScrollイベントが呼び出されるのを防ぎます。ビューの設定を変更することはできず、スロープは16ピクセルでハードコーディングされています。これはあなたが見ているラグを引き起こす半径です。

関連する問題