位置: 编程技术 - 正文

Android事件机制之二:onTouch详解(android事件响应和处理机制)

编辑:rootadmin
《Android事件机制之一:事件传递和消费》一文总结了Android中的事件传递和消费机制。

推荐整理分享Android事件机制之二:onTouch详解(android事件响应和处理机制),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android事件响应和处理机制,android事件分发机制流程,android事件处理方式有几种,Android事件机制中底层逻辑对事件的转发处理 命令模式,android事件响应和处理机制,android事件处理的两种机制是什么?二者有何特点,Android事件机制中底层逻辑对事件的转发处理 命令模式,android事件处理机制,内容如对您有帮助,希望把文章链接给更多的朋友!

在其中对OntachEvent中的总结中,不是很具体。本文将主要对onTach进行总结。

ontach是Android系统中整个事件机制的基础。Android中的其他事件,如onClick、onLongClick等都是以onTach为基础的。

onTach包括从手指按下到离开手机屏幕的整个过程,在微观形式上,具体表现为action_down、action_move和action_up等过程。

onTach两种主要定义形式如下:

1.在自定义控件中,常见的有重写onTouchEvent(MotionEvent ev)方法。如在开发中经常可以看到重写的onTouchEvent方法,

并且其中有针对不同的微观表现(action_down、action_move和action_up等)做出的相应判断,执行逻辑并可能返回不同的布尔&#;。

2.在代码中,直接对现有控件设置setOnTouchListener监听器。并重写监听器的onTouch方法。onTouch回调函数中有view和MotionEvent

参数,据此也可以针对不同的事件微观表现作出不同的处理。

对于这两种方式的区别,可以参见: 一文。

同时,推荐另外一篇博客: 。

Android事件机制之二:onTouch详解(android事件响应和处理机制)

需要注意的是:整体上,事件的微观表现遵循”事件传递和消费“一文,但是针对于action_down,需要有如下注意的地方:

1.在所有的事件微观表现中,action_down是整个事件的基础,是任何宏观事件的起始事件,一旦action_down return false,表示事件继续向外层冒泡,当有某一层的action_down

中return true,表示此层消费了此action_down事件,那么在接下里的action_move、action_up等事件中,将直接先传入此层中,且不管action_move、

action_up等返回false还是true,事件都不会继续冒泡到外层。事件由此被消费掉。

2.由此可以得知,action_down在整个事件传递中的重要作用。如果某层发生了action_move或者action_up微观事件,那么一定发发生过action_down微观事件。

关于setOnTouchListener、setOnClickListener和setOnLongClickListener:

Android中,有时候经常见到针对同一控件可能设置不同的事件监听器(如setOnTouchListener、setOnClickListener和setOnLongClickListener),对于这些事件监听器的执行顺序,

setOnTouchListener是最先执行的。并且只有当此空间完整走完action_down和action_up流程后,才可能调用performClick()方法,及调用onclick执行。而onLongClick则是在action_down

之后开始,并且是在一个新的线程中去判断按压的时间,条件满足则调用performLongClick()函数,及调用onLongClick()函数。

---------------------------------------------------------------------------------笔者水平有限,若有错漏,欢迎指正,欢迎转载以及CV操作,但希注明出处,谢谢!

文件读写 file.mkdirs()为啥总是返回false 今天碰到个坑爹问题,文件读写file.mkdirs()方法总是返回false。原以为是代码问题,后面调了半天才发现,原来是没有给sd卡读取权限!安卓sd卡权限没给

[安卓]手机管家(十一) 外拨电话 & 自定义toast 这里的receiver应该是静态注册吗?没有启动也能监听到,方便后台,但是用户没办法关掉,应该写到监听来电的里面,用户可以选择是否开启,所以应该

数字图像处理软件(一) 本人大三学生一枚,自学安卓有三四个月了,去公司实习两个月了,在工作上欠缺一些东西,所以决定开始写博客与各位大牛分享交流学习,写的不好

标签: android事件响应和处理机制

本文链接地址:https://www.jiuchutong.com/biancheng/383169.html 转载请保留说明!

上一篇:查看项目层级结构layout视图树-hierarchyviewer工具(查看项目层级结构怎么查)

下一篇:文件读写 file.mkdirs()为啥总是返回false(文件读写过程中,程序将直接与磁盘文件进行数据交换)

  • 一般纳税人收到专票怎么认证
  • 工程款税率是多少专票
  • 研究经费怎么写
  • 辞退补偿款怎么算
  • 工业土地摊销年限最新规定
  • 更换税控盘后原发票如何导入旧盘开票税局
  • 人力资源公司代招的岗位可以去吗
  • 库存商品暂估后怎么结转
  • 偶然所得申报表
  • 税控服务费列入管理费用什么费用?
  • 医院会计制度准则
  • 取得高新技术企业证书
  • 当期未开票过收入,以后开票怎么做会计分录
  • 公司的样品一般怎么处理
  • 运输业应列入
  • 小规模纳税人的题目
  • 增值税普通发票和普通发票的区别怎么交税
  • 给工会开发票企业需要报税吗?
  • 企业开普票和专票的税率一样吗
  • 专家评审费个人所得税计算公式
  • 客运服务是指
  • 月工资3000元,工伤7级能赔偿多少钱
  • 卷烟批发环节消费税计算
  • 代收代付水电费会计分录
  • 金蝶k3初始余额录入打不进字
  • 可供出售金融资产会计处理
  • 企业投资股票取什么名字
  • 服务费发票可以部分红冲吗
  • 没有实缴的股份转让要交个人所得税吗
  • 允许企业所得税税前扣除的公益性捐赠的条件包括
  • 在win7系统中将打开窗口拖到屏幕顶端
  • 如何pingip地址
  • svchost程序错误怎么修复
  • Win11 Dev 预览版 Build 25300
  • php中split
  • 总公司固定资产包括哪些
  • 会计核算形式的定义
  • vue ref获取元素高度
  • 流动资产处置利得
  • php分页技术
  • 煤矿安全费用提取规定
  • 猿创设计科技有限公司
  • node.js快速入门
  • js中数组操作
  • testdisk安装方法
  • 报废产品需要入库吗
  • 小规模纳税人进项发票怎么做账
  • 账实不符的后果和对策
  • mysql存储过程语句
  • 专项储备计提和使用理解
  • 企业所得税视同销售的有哪些?
  • 上个月计提多了,这个月怎么办?
  • 工程项目甲方是什么意思
  • 对公允价值套期的认识
  • 旅行社开具的发票可以作为福利费税前支出吗
  • 小企业固定资产折旧方法
  • 车辆按揭利息财务怎么算
  • 员工的报销
  • 一般纳税人厂房租赁增值税税率是多少
  • 实收资本未到账减资要交税吗
  • 免税收入怎么做分录
  • windows7更新80072efe
  • win7操作系统中将打开窗口拖动到屏幕顶端
  • windowsserver2008r2忘记开机密码怎么办
  • win7旗舰版系统激活码
  • kail Linux系统
  • 电脑照片应用使用不了
  • linux使用curl进行接口测试
  • JavaScript中的变量名不区分大小写
  • android 自定义
  • perl 哈希用法
  • js类继承的例子
  • python 设计
  • js脚本使用教程
  • python日志类
  • javascript bug
  • 砂石需要缴纳资源税吗
  • 税务局风险评估是什么意思
  • 上善若水 宁静致远,适合小学标语吗?
  • 体育局和什么局合并了
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设