Android“刷卡”与“抢购”

时间:2014-04-03 16:31:11

标签: android swipe gestures onfling

在Android开发者gesture design section中,术语"刷卡"使用。
developer section中,术语" fling"使用。

这些术语是同义词吗?从我发现的情况来看,我相信它们是,但无论是哪种方式都明确表达了这一点。

那就是说,如果我想实现"轻扫的功能,"我应该在onFling中实施GestureDetector吗?

2 个答案:

答案 0 :(得分:26)

拖动,滑动或投掷细节

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

  • 拖动:精细手势,更慢,更受控制,通常具有屏幕目标
  • 滑动:手势越大,速度越快,通常没有屏幕目标
  • Fling:粗略的手势,没有屏幕上的目标

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

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

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

答案 1 :(得分:24)

当用户进行“甩动”动作时,

onFling()将被执行,并且所述动作具有速度以确定它的投掷类型。但是,如果用户只是触摸设备并在屏幕上缓慢移动,那么这不会被视为甩动,而是轻扫。

归结为您希望用户执行的动作类型。理想的情况是实现onFling()函数来捕获该动作,并实现onDrag()onDragFinished()以捕获仍应被视为滑动的更微妙的动作。