踩坑——使用了dispatchTouchEvent后控件点击无效问题

简介: 踩坑——使用了dispatchTouchEvent后控件点击无效问题

起因

处理触摸事件分发,需求是需要监听实现点击其他区域位置隐藏这个输入框,但是发现输入文字后我的清空按钮不能使用了,下面让我们来分析一下原因

原代码分析

经过描述如果 ivButton 是显示状态点击清空按钮则是可以的,反之如果 ivButton 是隐藏状态点击清空是无效的,那么这是为什么呢?

原因是因为 ivButton 如果是显示状态的话就返回false,反之则返回true

如果 showView(ev) 返回了 true,则 dispatchTouchEvent 就返回 true,反之dispatchTouchEvent 就返回 super.dispatchTouchEvent(ev)

那么 dispatchTouchEvent 返回 true 和 super.dispatchTouchEvent(ev) 的区别是什么呢,咱们往下看

解析

查看了一些文章资料后得出结论:dispatchTouchEvent 一旦返回 true,则标明事件被消费,不再继续分发事件

(注意: Activity 的 dispatchTouchEvent 除外,其返回 true / false 都表示事件已消费,只有 return super.dispatchTouchEvent(ev) 时才向下传递)


目录
相关文章
|
Linux
centos7 升级qemu-kvm版本
centos7 手动升级qemu-kvm版本
2802 0
|
前端开发 Android开发 容器
surfaceview组件的surfaceCreated()不被调用的解决方案
原文:surfaceview组件的surfaceCreated()不被调用的解决方案 有时候我们有需要在native层做在surfaceview的上下文中做渲染,这个时候只是提供了一个单独什么都不做的surfaceview。
4043 0
|
7月前
|
存储 XML Java
Android 文件数据储存之内部储存 + 外部储存
简介:本文详细介绍了Android内部存储与外部存储的使用方法及核心原理。内部存储位于手机内存中,默认私有,适合存储SharedPreferences、SQLite数据库等重要数据,应用卸载后数据会被清除。外部存储包括公共文件和私有文件,支持SD卡或内部不可移除存储,需申请权限访问。文章通过代码示例展示了如何保存、读取、追加、删除文件以及将图片保存到系统相册的操作,帮助开发者理解存储机制并实现相关功能。
1878 2
|
11月前
|
人工智能 编解码 算法
Doubao-1.5-pro:字节跳动最新豆包大模型,性能超越GPT-4o和Claude 3.5 Sonnet
豆包大模型1.5是字节跳动推出的最新大模型,采用大规模稀疏MoE架构,支持多模态输入输出,具备低时延语音对话能力,综合性能优于GPT-4o和Claude 3.5 Sonnet。
1905 2
Doubao-1.5-pro:字节跳动最新豆包大模型,性能超越GPT-4o和Claude 3.5 Sonnet
|
Java 测试技术 数据处理
Java Function 接口详解
在 Java 编程中,Function 接口是一个非常重要的函数式接口,它允许你定义一个接受一个参数并产生结果的函数。Function 接口通常在各种数据处理和转换操作中使用,例如集合处理、流处理以及函数式编程。 本文将详细介绍 Function 接口的使用方法,包括如何创建、组合和使用 Function 接口的实例。我们还将讨论一些常见的应用场景,以帮助你更好地理解如何利用 Function 接口来简化代码
458 0
|
安全 区块链 Python
元宇宙中的金融新纪元:区块链与虚拟经济的融合
【8月更文第8天】随着元宇宙概念的兴起,金融行业正在探索如何利用这项新兴技术来创新服务和产品。区块链技术因其去中心化、不可篡改的特点,在元宇宙中构建可信的金融体系中发挥着关键作用。本文将探讨区块链如何支持元宇宙中的虚拟经济,并通过一个简单的示例来展示基于区块链的交易机制。
583 0
|
Android开发
Android RecyclerView实现吸顶动态效果,详细分析
Android RecyclerView实现吸顶动态效果,详细分析
|
搜索推荐 Android开发 开发者
Android应用开发:实现自定义ViewPager2的完全指南
【5月更文挑战第23天】 在移动应用开发的领域中,为用户提供流畅且直观的界面体验至关重要。Android平台上的ViewPager2组件提供了一个强大的方式来实现可滑动的页面,但有时候默认的行为和样式可能无法满足特定的设计要求。本文将深入探讨如何通过创建一个自定义的ViewPager2来扩展其功能,包括实现新的转换效果、修改指示器样式以及增加触摸事件响应等。我们将提供详尽的步骤和代码示例,帮助开发者掌握创建高度定制的ViewPager2所需的关键概念和技术。
|
存储 JavaScript 小程序
高德地图实现点聚合功能的详细步骤加截取地图图片 (附源码)
高德地图实现点聚合功能的详细步骤加截取地图图片 (附源码)
1185 0
|
XML Shell Linux
Windows下成功安装Repo和下载Android源码方法总结
Windows下成功安装Repo和下载Android源码方法总结