如何实现自定义视图的fling

时间:2013-05-09 09:12:22

标签: android onfling

我有一个自定义视图,可以根据某个参数(center)绘制一些内容。

用户移动视图后,我将重新绘制视图。(我使用GestureDetector制作并覆盖onScroll方法)。

但是现在我想实现fling效果。我知道我必须采用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;
}

当我运行应用程序时,我无法获得预期的投掷效果。

我会错过什么吗?

0 个答案:

没有答案