如何在HorizontalScrollView中检测到fling事件的结束?
使用GestureDetector,我可以确定onFling何时开始,但我无法弄清楚如何判断它何时完成。有没有我缺少的回调函数或类似技巧?
答案 0 :(得分:3)
这个答案很晚,但可能与类似的要求有用
我的方法是覆盖View的scrollTo。 我使用处理程序重新安排延迟消息。 结果是,只要滚动调用发生,就不会传递消息。 但是当没有滚动调用发生时,消息将被传递,并可用于表示“投掷”的结束
你明白了吗?
答案 1 :(得分:0)
答案 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);
}
}
});