android - 自定义视图:在滚动视图内滑动
问题描述
我用 Canvas 创建了一个自定义视图,并通过覆盖 onTouchEvent 使其交互。但我的视图在 ScrollView 内。当我在自定义视图中将项目拖动/滑动到右侧并稍微向上或向下移动我的手指时,它失去了焦点。然后 ScrollView 做出反应,我的视图永远不会收到 ACTION_UP 事件。
有没有办法避免在我与自定义视图交互时 scrollView-Parent scolls?
解决方案
你需要ViewParent.requestDisallowInterceptTouchEvent
在您的自定义视图中,一旦检测到触摸手势是针对它的,请调用scrollview.requestDisallowInterceptTouchEvent(true)
. 然后滚动视图将在触摸期间忽略进一步的事件,即直到它(滚动视图)接收到一个ACTION_UP
或ACTION_CANCEL
事件。
推荐阅读
- node.js - 如何以角度显示上传到文件夹的所有图像?
- r - list_len 从 rlang 0.2.0 开始被软性弃用
- arrays - SUMIFS 标准范围内的计算范围
- go - 如何从 Google OpenID Connect 获取 ID_token 的示例
- c# - EmguCV 中的手部分割
- javascript - 如何将元素锚定到窗口的左侧
- android - Movesense Android Showcase App 采样率不变
- android - 如何显示对话框以拍照或从图库中选择图片
- ios - 以编程方式触发呼吸应用程序或 HRV 测量 [Apple Watch 4]
- mysql - 在 SQL 中查找和替换或删除部分字符串