检测Horizo​​ntalScrollView中的fling结束?

时间:2011-11-04 15:27:24

标签: android scroll detect horizontalscrollview onfling

如何在Horizo​​ntalScrollView中检测到fling事件的结束?

使用GestureDetector,我可以确定onFling何时开始,但我无法弄清楚如何判断它何时完成。有没有我缺少的回调函数或类似技巧?

3 个答案:

答案 0 :(得分:3)

这个答案很晚,但可能与类似的要求有用

我的方法是覆盖View的scrollTo。 我使用处理程序重新安排延迟消息。 结果是,只要滚动调用发生,就不会传递消息。 但是当没有滚动调用发生时,消息将被传递,并可用于表示“投掷”的结束

你明白了吗?

答案 1 :(得分:0)

可能通过检测an over scroll


这个怎么样:

使用onFling()onScrollChanged()的组合。当发生抛出事件并且跟随滚动事件时,您将获得确切的更改量。

答案 2 :(得分:0)

我希望这对于水平scrollView的滚动结尾

是可见的和不可见的
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);
            }
        }
    });