android - 一键事件使所有 subview 进入按下状态

标签 android events view touch

毫无疑问,这是由我绝对非正统的布局引起的 - 我在 Activity 的 LinearLayout 中有按钮,该按钮由 ActivityGroup 放置到 Gallery 中。 ActivityGroup也是适配器实现,整体效果是全屏滑动、贴合面板。

这是有效的(实际上是一种享受),除了父布局上的触摸事件将所有按钮置于按下状态(并且任何释放都会删除该状态)。对单个按钮的触摸仅传递到该按钮。

这些按钮没有接收任何事件,它们只是改变状态。

我是不是做错了什么?这是一个已知的错误吗?有解决方法吗?

任何见解都将非常感激。

最佳答案

尽管这个问题很晦涩,但它的解决方案可能对其他人有用,所以我会回答我自己的问题。

如前所述,我(错误)使用 Gallery 来提供 iPhone 上的滑动面板。当 Gallery 向其 Adapter 实现请求 View 时,我通过返回 Activity 的顶级窗口来实现此目的。

图库的典型使用会导致需要应用新闻事件的小 View - 它更像是一个按钮,而不是一个面板。我们的使用意味着单个 View 中有许多按钮,并且我们不希望在全局范围内应用新闻事件。

所以解决方法非常简单。我扩展了 Gallery 并故意破坏了 pointToPosition(int x, int y),每次都返回 INVALID_POSITION。 Gallery 仍然会执行预期的所有其他操作,但会跳过尝试将触摸事件应用于除自身之外的任何元素(以准备滚动或快速滑动)。

我希望这对某人有值(value)。

关于android - 一键事件使所有 subview 进入按下状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4956269/

相关文章:

android - 升级到 Unity 5 后 res/raw 中的 Android 库插件 .js 文件出现问题

view - 是否可以动态更改 web2py View ?

android - 在自定义 View 中绘制文本,canvas.drawText 不会显示

asp.net-mvc - 为什么 Asp.Net MVC 不在我的共享目录中搜索 View ?

android - 如何在 C++ OpenCV 中显示带有 putText 的计时器结果?

android - 如何用 Java.lang.NullPointerException 解决 FATAL EXCEPTION?

java - 我可以强制我的 Android 应用程序从 Play 商店更新吗?

c# - 停用事件时隐藏表单

javascript - 如何处理冲突的日程事件?

javascript - 单击 Flash 时事件不会在某些浏览器中冒泡