广告
返回顶部
首页 > 资讯 > 精选 >onTouch与onClick事件在Android应用中的关系有哪些
  • 830
分享到

onTouch与onClick事件在Android应用中的关系有哪些

ontouchonclickandroid 2023-05-31 08:05:48 830人浏览 八月长安
摘要

onTouch与onClick事件在Android应用中的关系有哪些?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。LinearLayout分别设置了onTouchListe

onTouch与onClick事件在Android应用中的关系有哪些?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

LinearLayout分别设置了onTouchListener,onClickListener,onLonGClickListener及onTouchEvent回调

1、在屏幕上触摸之后基本的执行流程如下:

onTouch,action=0onTouchEvent,action=0onTouch,action=2onTouchEvent,action=2onTouch,action=2onTouchEvent,action=2onTouch,action=1onTouchEvent,action=1onClick

也就是先说onTouchListener是最先被触发的,然后是本身的onTouchEvent回调;当最后的up事件发生并被onTouchEvent处理后才会触发onClickListener。

2、把onTouchEvent回调中的super.onTouchEvent去除,直接返回true;则流程如下:

onTouch,action=0onTouchEvent,action=0onTouch,action=2onTouchEvent,action=2onTouch,action=2onTouchEvent,action=2onTouch,action=1onTouchEvent,action=1

可以看到onClickListener永远无法被触发,也侧面说明了对onClick的触发是在onTouchEvent回调中来实现的。

3、长按屏幕,流程如下:

onTouch,action=0onTouchEvent,action=0onTouch,action=2onTouchEvent,action=2onTouch,action=2onTouchEvent,action=2onLongClickonTouch,action=2onTouchEvent,action=2onTouch,action=2onTouchEvent,action=2onTouch,action=1onTouchEvent,action=1onClick

当长按的时候,无需到up就会触发onLongClick的响应,但之后也会继续触发onClick的响应。

4、但如果在onLongClick中返回true,则流程如下,即只在中间触发了onLongClick,之后会继续响应touch,但当up的时候就不会再触发onClick

onTouch,action=0onTouchEvent,action=0onTouch,action=2onTouchEvent,action=2onTouch,action=2onTouchEvent,action=2onLongClickonTouch,action=2onTouchEvent,action=2onTouch,action=2onTouchEvent,action=2onTouch,action=1onTouchEvent,action=1

测试代码如下:

public class MainActivity extends Activity {  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    FrameLayout frame = (FrameLayout)findViewById(R.id.container);    LinearLayoutTest line = new LinearLayoutTest(this);    line.setOnClickListener(new ClickListener());    line.setOnLongClickListener(new LongClickListener());    line.setOnTouchListener(new TouchListener());    line.setLongClickable(true);    frame.addView(line);  }  public class ClickListener implements OnClickListener {    @Override    public void onClick(View v) {      Log.e("test","onClick");    }  }  public class LongClickListener implements OnLongClickListener{    @Override    public boolean onLongClick(View v) {      Log.e("test","onLongClick");      return true;    }  }  public class TouchListener implements OnTouchListener{    @Override    public boolean onTouch(View v, MotionEvent event) {      Log.e("test","onTouch,action="+event.getAction());      return false;    }   }    }public class LinearLayoutTest extends LinearLayout{  public LinearLayoutTest(Context context) {    super(context);  }  @Override  public boolean onTouchEvent(MotionEvent event) {    Log.e("test","onTouchEvent,action="+event.getAction());    return super.onTouchEvent(event);  }}

关于onTouch与onClick事件在Android应用中的关系有哪些问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网精选频道了解更多相关知识。

--结束END--

本文标题: onTouch与onClick事件在Android应用中的关系有哪些

本文链接: https://www.lsjlt.com/news/224312.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • onTouch与onClick事件在Android应用中的关系有哪些
    onTouch与onClick事件在Android应用中的关系有哪些?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。LinearLayout分别设置了onTouchListe...
    99+
    2023-05-31
    ontouch onclick android
  • 详谈Android中onTouch与onClick事件的关系(必看)
    这几天遇到点关于Android的触摸事件相关的,还跟onClick有关,暂且记下: LinearLayout分别设置了onTouchListener,onClickListen...
    99+
    2022-06-06
    关系 onclick Android
  • 在Android应用中利用 onClick实现单击事件的方法有哪些
    本篇文章给大家分享的是有关在Android应用中利用 onClick实现单击事件的方法有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。这里使用四种onClick单击事件,来...
    99+
    2023-05-31
    android onclick roi
  • Fragment在Android应用中的作用有哪些
    这篇文章给大家介绍Fragment在Android应用中的作用有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1.这个用法的原因和意义在未登录情况下,点击很多地方都可能要跳到登陆界面,登陆成功后,当前页面需要刷新我...
    99+
    2023-05-31
    android fragment
  • Java关键字和API在分布式系统中的应用有哪些?
    Java作为一种广泛应用于编程领域的语言,其关键字和API在分布式系统中有着重要的应用,本篇文章将介绍Java关键字和API在分布式系统中的应用。 一、Java关键字在分布式系统中的应用 synchronized 在多线程环境下,为了避免...
    99+
    2023-10-23
    关键字 分布式 api
  • Android应用中实现文件下载的方法有哪些
    本篇文章为大家展示了Android应用中实现文件下载的方法有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、自己封装URLConnection 连接请求类 public void downlo...
    99+
    2023-05-31
    android roi
  • Go语言在分布式系统中的应用有哪些?
    随着互联网技术的不断发展,分布式系统的应用越来越广泛。而Go语言作为一种高效、可靠、简单的编程语言,正逐渐成为分布式系统的首选语言之一。本文将介绍Go语言在分布式系统中的应用。一、协程Go语言中的协程(goroutine)是一种轻量级的线程...
    99+
    2023-05-17
    应用 Go语言 分布式系统
  • JavaScript在Linux和Unix系统中的应用场景有哪些?
    JavaScript是一种广泛应用于Web开发的脚本语言,但在Linux和Unix系统中,JavaScript也有着广泛的应用场景。在本文中,我们将探讨JavaScript在Linux和Unix系统中的应用场景,并给出一些演示代码。 N...
    99+
    2023-07-04
    linux unix javascript
  • 二维码在Linux系统中的应用有哪些优势?
    二维码是一种二维条码,可以存储大量的信息。它已经成为现代生活中不可或缺的一部分,并且在各种应用场景中得到广泛的应用。在Linux系统中,二维码也有很多的应用,下面我们将介绍二维码在Linux系统中的应用和优势。 一、二维码在Linux系统...
    99+
    2023-09-05
    异步编程 二维码 linux
  • 索引技术在 ASP 中的应用:有哪些值得关注的点?
    索引技术在 ASP 中是一个非常重要的话题。本文将介绍索引技术在 ASP 中的应用,包括索引技术的概述、ASP 中的索引技术、值得关注的点以及演示代码。 一、索引技术概述 索引技术是指对数据进行分类、排序和组织的技术。它可以提高数据的检索...
    99+
    2023-10-21
    自然语言处理 框架 索引
  • numy 函数在 ASP 文件中有哪些惊人的应用?
    ASP(Active Server Pages)是一种动态网页技术,它允许开发者使用服务器端脚本语言来生成动态网页。numy 函数是 ASP 中的一个非常强大的函数,它可以在 ASP 文件中实现许多惊人的应用。在本文中,我们将探讨 num...
    99+
    2023-10-21
    文件 numy 函数
  • 文件接口和二维码在Python中的应用有哪些?
    Python是一种高级语言,被广泛用于数据分析、机器学习、人工智能等领域。在Python的应用中,文件接口和二维码也是非常重要的组成部分。本文将介绍文件接口和二维码在Python中的应用,并演示相关代码。 一、文件接口在Python中的应...
    99+
    2023-10-09
    文件 接口 二维码
  • Golang常见的应用场景在软件开发中有哪些?
    Golang作为一种开发语言,具有简洁高效、并发性能强等特点,因而在软件开发中有着广泛的应用场景。下面将介绍一些常见的应用场景。网络编程Golang在网络编程方面表现出色,特别适合构建高并发、高性能的服务器。它提供了丰富的网络库,开发人员可...
    99+
    2023-12-28
    云计算 web开发 分布式系统
  • Python 在 Linux 和 Windows 系统中的应用场景和面试相关技能有哪些区别?
    Python 是一门跨平台的编程语言,可以在不同的操作系统上使用。然而,由于 Linux 和 Windows 系统的不同,Python 在这两个系统中的应用场景和面试相关技能也有所区别。本文将探讨 Python 在 Linux 和 Win...
    99+
    2023-09-17
    linux windows 面试
  • 在Linux文件系统中导航的使用技巧有哪些
    这篇文章主要介绍在Linux文件系统中导航的使用技巧有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!添加到 $PATH确保你不必花费大量时间在 Linux 系统上查找命令的最简单、最有用的方法之一就是在 $PAT...
    99+
    2023-06-16
  • Java编程中同步关键字在算法中的应用有哪些优势?
    在Java编程中,同步关键字是非常重要的一个概念。它可以用来实现线程之间的同步,保证多线程执行的正确性。除了在多线程编程中的应用,同步关键字也可以被用在算法中,带来一些优势。本文将探讨Java编程中同步关键字在算法中的应用,以及这些应用的...
    99+
    2023-11-11
    编程算法 同步 关键字
  • Go语言在分布式系统中的应用有哪些优势?
    Go语言是一种面向并发编程的语言,它的设计目标是使编写高并发、分布式系统变得更加容易。在分布式系统中,Go语言具有以下优势。 轻量级线程(goroutine) Go语言引入了轻量级线程(goroutine),这是一种非常轻量级的线程实现...
    99+
    2023-09-12
    分布式 unix 函数
  • LeetCode算法在分布式系统中的应用有哪些挑战?
    随着分布式系统的广泛应用,越来越多的企业和团队开始关注分布式系统的性能和可靠性。在这个过程中,算法的作用变得越来越重要。LeetCode算法是一种广泛应用于算法竞赛和面试中的算法,它在分布式系统中的应用也是越来越受到重视。 但是,Leet...
    99+
    2023-11-02
    大数据 leetcode 分布式
  • NumPy数组在分布式系统中的应用有哪些挑战?
    NumPy是一个强大的Python库,用于在Python中进行科学计算。NumPy提供了一个高性能的多维数组对象,以及各种用于操作这些数组的函数。在单机系统中使用NumPy非常简单,但是在分布式系统中使用NumPy会带来一些挑战。在本文中...
    99+
    2023-10-02
    numy 存储 分布式
  • sap软件在半导体设计行业中的应用有哪些
    sap软件在半导体设计行业中的应用有哪些,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。中国由制造业大国向制造业强国转变。中国每...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作