首页 > 解决方案 > Xamarin Forms(Android):ListView向上滑动以取消拉动以刷新

问题描述

我正在开发一个 xamarin 表单项目,我们已经启用了下拉刷新列表视图。一切正常,但是我观察到在 iOS 上可以取消拉动刷新,然后通过执行以下操作继续滚动:

  1. 下拉并按住
  2. 拉起(注意:下拉再上拉时不要松手)。
  3. 您会看到拉动刷新没有继续,屏幕将向下滚动

然而,在 Android 上,情况并非如此。拉动刷新卡住了,它不会向下滚动。我怎样才能让它向下滚动呢?

作为参考,您也可以在 facebook 应用程序上尝试此操作。

标签: xamarin.formsxamarin.android

解决方案


通过为 ListView 创建自定义渲染器并覆盖 OnInterceptTouchEvent 来解决问题。跟踪初始触摸的位置,当 Y 的增量从大于 0 变为小于 0(手指向下滑动然后返回到初始位置)时,我通过调度 MotionEventsAction.Cancel 和 MotionEventsAction.Down 重置触摸。


推荐阅读