OnTouch和OnClick Android的区别

OnTouch和OnClick Android的区别,android,Android,OnTouchListener和OnClickListener之间有什么区别吗?我不是从编程的角度提问,而是从用户体验的角度提问 哪一个更好用 我们是否需要同时实现这两个功能?触摸事件是指有人将手指放在屏幕上。它会在手指的整个移动过程中被调用,向下、拖动和向上。“点击”甚至不需要来自屏幕。可能是有人按了回车键 当您想在屏幕上接收来自某人手指的事件时,请使用OnTouchListener 当您想要检测点击时,请使用OnClickListener。 onClickListener在引发任何视图的单击

OnTouchListener
OnClickListener
之间有什么区别吗?我不是从编程的角度提问,而是从用户体验的角度提问

哪一个更好用

我们是否需要同时实现这两个功能?

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

当您想在屏幕上接收来自某人手指的事件时,请使用
OnTouchListener

当您想要检测点击时,请使用
OnClickListener

  • onClickListener
    在引发任何视图的单击事件时使用,例如:按钮的单击事件、图像按钮

  • onTouchListener
    在您想要实现触摸式功能时使用,例如,如果您想要获得您精确触摸的屏幕坐标

根据官方文件,两者的定义如下:

  • onClickListner
    :单击视图时调用回调的接口定义
  • onTouchListener
    :将触摸事件发送到此视图时调用回调的接口定义。在将触摸事件提供给视图之前,将调用回调
哪一个更好用

这取决于你的要求

onTouch
提供运动事件。因此,你可以做很多新奇的事情,因为它可以帮助你分离运动状态。仅举几个例子:

  • 行动起来
  • 行动!
  • 行动!
这些是我们通常实现以获得所需结果的常见操作,例如在屏幕上拖动视图

另一方面,
onClick
除了提供与用户交互的视图之外,并没有提供太多信息
onClick
是一个完整的事件,包括对焦、按下和释放。所以,你几乎无法控制它。一方面,它的实现非常简单

我们是否需要实现这两个目标

这是没有必要的,除非你想搞乱你的用户。如果您只需要简单的点击事件,请点击
onClick
。如果您想点击更多内容,请点击
onTouch
。两者兼而有之会使过程复杂化


从用户的角度来看,如果小心地将
onTouch
实现为类似于
onClick
,这是不明显的

在onclick事件之上使用ontouch事件的一个很好的理由是在用户单击时获得更快的响应。onclick事件在响应和执行所需操作时发生延迟。ontouch事件更适合于提供高性能的移动web应用程序。

OnClickListener
-用于基本用途,当我们只需要用户点击,即点击按钮,屏幕上无拖动或手势时


OnTouchListener
基本上是一个比OnClickListener更精细的控件。它在屏幕上的按下/释放按钮上执行和操作。它允许用户在屏幕上组合移动、向下触摸、向上触摸、手指拖动或任何移动手势来使用onTouch。举个例子: 当您有一个ViewPager和一个TextView时。
如果在textView上实现setOnClickListener,则在触摸/滑动textView时将无法滑动ViewPager

我看到一些开发人员使用触摸事件作为按钮,原因是什么?我还没有在手机上测试过,但是,有没有性能即兴创作?我见过一些开发人员使用触摸事件作为按钮,原因是什么?我没有在电话上测试过,但是,有什么即兴表演吗?@Nixittatel在没有看到他们的来源之前,没有什么好的理由出现在我的脑海中。没错,但现在我找到了答案。。。在你们的帮助下和一些粒子方法。不用担心,谢谢你的提问,如果你需要一些控制,那就试试onTouch吧。对于大多数情况,onClick就可以了。请看PH7的答案。我仍在想该用哪一个。如果我有4个视图,其中3个视图需要单击和滑动,而第4个视图只需要单击。我知道我只能使用onTouch来点击或滑动前3个视图,但第4个视图呢?我应该为一个视图实现onClick还是只使用onTouch,因为它已经被调用了..?应该注意的是,可能需要使用onTouch来实现某些结果,在这种情况下,用户的观点将受到谴责。FE,如果您想阻止软键盘显示,以便您可以提供自己的,则必须通过onTouch。直到onClick不会这么做。