2

特定のパラメーター ( ) に応じて何かを描画するカスタム ビューがありますcenter

ユーザーがビューを移動したら、ビューを再描画します (メソッドを使用してこれを作成しGestureDetector、メソッドをオーバーライドしますonScroll)。

ただし、今はフリング効果を実装したいと考えています。メソッド内で何かをしなければならないことはわかっていますonFling

しかし、私はそれを作る方法がわかりません。

それOverScroller.flingが私が欲しいもののようです。しかし、それに関するこれ以上の文書は見つかりません。

@Override
public void computeScroll() {
    super.computeScroll();
    if (sc.computeScrollOffset()) {
        int stx = sc.getStartX(), sty = sc.getStartY();
        int cx = sc.getCurrX(), cy = sc.getCurrY();
        int edx = sc.getFinalX(), edy = sc.getFinalY();
        if (cx <= edx && cy <= edy) {
            this.center = new Point(this.center.x+cx-stx,this.center.y+cy-sty);
        }
        ViewCompat.postInvalidateOnAnimation(this);
    }

}
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
    Log.i("event", "fling:" + e1.getX() + "," + e2.getX());
    sc.forceFinished(true);
    sc.fling(0, 0, velocityX, velocityY, -30, 30, -30, 30);
    return true;
}

アプリケーションを実行すると、期待したフリング効果が得られません。

私は何かが恋しいですか?

4

0 に答える 0