1

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

使用 GestureDetector,我可以确定 onFling 何时开始,但我不知道如何判断它何时完成。我是否缺少任何回调函数或类似的技巧?

4

3 回答 3

3

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

我的方法是覆盖 View 的 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 回答