41

在 Android Developers手势设计部分中,使用了术语“滑动”。
开发者部分,使用了“fling”这个词。

这些术语是同义词吗?根据我的发现,我相信它们是,但没有任何地方明确表示过一种或另一种方式。

也就是说,如果我想实现“滑动”的功能,我应该onFling在 中实现GestureDetector吗?

4

2 回答 2

36

拖动、滑动或翻转详细信息

滑动手势活动因上下文而异。执行手势的速度是 Drag、Swipe 和 Fling 之间的主要区别。

  • 拖动:精细的手势,更慢,更可控,通常有一个屏幕上的目标
  • 滑动:粗略手势,速度更快,通常没有屏幕目标
  • Fling:粗略的手势,没有屏幕上的目标

手势速度影响动作是否立即可逆。

  • 根据结束速度以及受影响的元素是否超过阈值(或超过该点可以撤消操作),滑动变成了轻扫。
  • 拖动保持与元素的接触,因此反转手势的方向会将元素拖回阈值。
  • 甩动以更快的速度移动,并在越过阈值时移除与元素的接触,从而防止动作被撤消。

来自https://www.google.com/design/spec/patterns/gestures.html

于 2015-08-14T04:08:30.613 回答
25

onFling()将在用户做出“投掷”动作时执行,并且所述动作具有确定其投掷类型的速度。但是,如果用户只是简单地触摸设备并在屏幕上缓慢移动,那将不会被视为甩动,而是滑动。

这取决于您希望用户执行哪种类型的动作。理想的情况是实现onFling()捕获该动作的功能,并实现onDrag()onDragFinished()捕获仍应视为滑动的更微妙的动作。

于 2014-04-03T16:38:11.013 回答