【发布时间】:2011-02-14 18:27:49
【问题描述】:
我有两个按钮,它们都具有 onTouchListeners 并在按下时执行操作。如果您尝试同时单击两者,为什么它们不起作用?我正在为 Android 1.6 构建。我没有要测试的真实设备,您无法在模拟器中同时测试两个东西。感谢您的帮助。
【问题讨论】:
标签: android
我有两个按钮,它们都具有 onTouchListeners 并在按下时执行操作。如果您尝试同时单击两者,为什么它们不起作用?我正在为 Android 1.6 构建。我没有要测试的真实设备,您无法在模拟器中同时测试两个东西。感谢您的帮助。
【问题讨论】:
标签: android
我不是专家,但我的猜测如下,
所有的 gui 交互都是通过 UI 线程完成的。除非您对按钮进行一些特殊处理,否则您最终将使用 UI 线程处理“单击 1”,而用户执行“单击 2”(此时 UI 线程在其他地方忙)。也就是说,在第二次点击期间,UI 不会响应。
【讨论】:
多点触控仅在 Android 2.x 中引入,因此在 1.6 中您不走运 - 不可能。即使在 2.x 中,默认的 UI 行为也是仅针对此类事件(即按钮按下)的单点触控。
我想有可能以某种方式扩展这些按钮的容器视图,使其变得对多点触控友好,并实际上将正确的事件传递给按钮,但那将是相当骇人的。
您可以阅读有关多点触控的更多信息here。在第 3 页上,您可以看到 GUI 上的多点触控失败的原因:第一个触摸事件是 ACTION_DOWN,按应有的方式处理,第二个是 ACTION_POINTER_DOWN,UI 不知道如何处理。
【讨论】:
正如 Roosma 已经提到的,多点触控从 2.x 版本开始提供。
根据我在 android market 上发布的应用程序的下载统计数据(已经下载超过 16k 人),看起来只有几十个人在他们的设备上使用 Android 1.6。所以我认为你至少应该升级到 2.1 版。
希望对你有帮助:)
【讨论】: