如何在 HorizontalScrollView 中检测到 fling 事件的结束?
使用 GestureDetector,我可以确定 onFling 何时开始,但我不知道如何判断它何时完成。我是否缺少任何回调函数或类似的技巧?
如何在 HorizontalScrollView 中检测到 fling 事件的结束?
使用 GestureDetector,我可以确定 onFling 何时开始,但我不知道如何判断它何时完成。我是否缺少任何回调函数或类似的技巧?
这个答案很晚,但可能对类似的要求很有用
我的方法是覆盖 View 的 scrollTo。随着我使用处理程序重新安排延迟消息。效果是只要滚动调用发生,消息就不会被传递。但是当没有滚动调用发生时,消息将被传递,并且可以用来表示“投掷”的结束
你明白了吗?
我希望这对水平滚动视图的滚动端可见和不可见
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);
}
}
});