1

どうすればHorizo​​ntalScrollView内のフリングイベントの終了を検出できますか?

GestureDetectorを使用すると、onFlingがいつ開始されたかを判断できますが、いつ完了したかを判断する方法がわかりません。私が見逃しているコールバック関数または同様のトリックはありますか?

4

3 に答える 3

3

この回答は遅れていますが、同様の要件でおそらく役立つでしょう

私のアプローチは、ビューのscrollToをオーバーライドすることです。ハンドラーを使用して遅延メッセージを再スケジュールします。その結果、スクロール呼び出しが発生している限り、メッセージは配信されません。ただし、スクロールコールが発生しない場合は、メッセージが配信され、「フリング」の終了を通知するために使用できます。

アイデアはわかりましたか?

于 2012-03-11T19:12:02.350 に答える
0

おそらくオーバースクロールを検出することによって


これはどう :

との組み合わせを使用しonFling()ますonScrollChanged()。フリングイベントが発生し、スクロールイベントが続くと、正確な量の変化が得られます。

于 2011-11-05T08:02:17.843 に答える
0

これが水平スクロールビューのスクロールエンドを表示および非表示にするために機能することを願っています

hsv.setOnScrollChangeListener(new View.OnScrollChangeListener() {
        @Override
        public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
            View view = (View) hsv.getChildAt(hsv.getChildCount() - 1);
            int diff = (view.getRight() - (hsv.getWidth() + hsv.getScrollX()));

            if (diff <= 0) {
                next.setVisibility(View.INVISIBLE);
            } else {
                next.setVisibility(View.VISIBLE);
            }
        }
    });
于 2017-05-03T09:43:40.833 に答える