OnTouch和OnClick Android之间的区别

Nix*_*tel 84 android

有什么区别OnTouchListenerOnClickListener?我不是从编程的角度来看,而是从用户体验的角度来看.

哪一个更好用?

我们需要同时实施吗?

PH7*_*PH7 92

哪一个更好用?

这真的取决于你的要求.onTouch为您提供动作事件.因此,你可以做很多奇特的事情,因为它可以帮助你分离运动状态.仅举几个

  • ACTION_UP
  • ACTION_DOWN
  • ACTION_MOVE

这些是我们通常实现的常见操作,以获得欲望结果,例如在屏幕上拖动视图.

另一方面,除了视图用户交互之外,onClick不会给你太多.onClick是一个完整的事件,包括聚焦,按压和释放.所以,你几乎无法控制它.一方面是实施起来非常简单.

我们需要同时实施吗?

除非你想搞砸你的用户,否则没有必要.如果您只想要简单的点击事件,请转到onClick.如果您想要的不仅仅是点击,请转到onTouch.两者都会使过程复杂化.

从用户的角度来看,如果你仔细地实现onTouch看起来像onClick,这是不明显的.

  • 如果你需要一些控制,那就去onTouch.对于大多数情况,onClick都可以.请参阅PH7的答案. (3认同)

Tho*_*nan 22

"触摸"事件是指有人将手指放在屏幕上.它会在手指移动,向下,向上和向上的过程中被调用."点击"甚至不需要来自屏幕.可能是有人按下回车键.

OnTouchListener当您想要从屏幕上的某个人的手指接收事件时使用.

使用OnClickListener时要检测的点击.


Luc*_*fer 9

  • onClickListener 每当引发任何视图的click事件时都会使用它,例如:单击Button,ImageButton的事件.

  • onTouchListener 只要您想要实现触摸功能,就可以使用,例如,如果您想要获得完全触摸的屏幕坐标.

从官方文档来看,两者的定义是:

  • onClickListner:单击视图时要调用的回调的接口定义.
  • onTouchListener:将触摸事件调度到此视图时要调用的回调的接口定义.在将触摸事件提供给视图之前将调用回调.


Bas*_*jan 8

在onclick事件上使用ontouch事件的一个很好的理由是在用户单击时获得更快的响应.onclick事件在响应和继续执行所需操作时遇到延迟.ontouch事件更适合提供高性能的移动网络应用.