检测何时在 ListView 中滑动项目

Posted

技术标签:

【中文标题】检测何时在 ListView 中滑动项目【英文标题】:Detect when item is swiped in ListView 【发布时间】:2014-08-18 15:52:21 【问题描述】:

我想知道在ListView 中滑动项目的时间(与标准选择相比)

ListView 有一个 IsSwipeEnabled 属性,它可以打开/关闭滑动动画,但我似乎无法弄清楚如何检测项目何时被实际滑动,也找不到任何似乎提供的事件这个。

【问题讨论】:

我很想知道为什么这被否决了。 【参考方案1】:

您需要监控操作事件并通过跟踪手势的速度来创建自己的“滑动”事件,或者创建自己的列表项。

而后者的例子位于here

如果您需要有关实施的更具体部分的帮助,请回复此帖子,我会相应地修改我的答案。

另外,如果您还没有阅读 GestureRecognizer,请不要忘记阅读。

【讨论】:

好的,谢谢,我会仔细研究一下并试一试。我没有提到的一件事是我确实尝试通过将模式设置为 TranslateX 来进行自己的操作检测 - 但我遇到的问题是它极大地使列表视图很难滚动,因为我的操作事件似乎正在吃掉一部分滚动的触摸。也许 GestureRecognizer 可以解决这个问题?考虑到它对这个概念的“部分”支持,我很惊讶它没有内置到 listview 中。【参考方案2】:

覆盖列表视图项的OnManipulationDelta 以获得累积和增量位置。

我有一个用于 uwp 的超级列表视图库,包括滑动功能:https://github.com/***shi/LLMListView

【讨论】:

我喜欢你控制我使用“正常修复页面”谢谢 :) 坚持下去

以上是关于检测何时在 ListView 中滑动项目的主要内容,如果未能解决你的问题,请参考以下文章

ListVIew中包含水平滑动控件,左右滑动时容易触发上下滑动

listView界面改变后滑动时的复用问题

NestedScrollView嵌套ListView可行性总结

检测ListView何时到达底部 - onScroll()或onScrollStateChanged()?

停止 ListView 滚动动画

如何检测用户何时尝试滑动“过去的 UIScrollView 内容偏移”?