0

我目前正在使用该活动

@Override
public boolean onTouchEvent(MotionEvent ev)
{

为了提供用户对我正在编写的游戏的反馈。此事件触发一些需要一些时间才能完成的游戏控制事件(因为涉及动画)。我遇到的问题是在动画期间,如果我一直触摸屏幕(AKA 触发此事件),我将收到超时错误:

10-02 21:58:30.776:错误/ActivityManager(67):原因:keyDispatchingTimedOut

基本上,在动画运行时,我不需要这个事件,尽管将它排队会很好。

我可以做些什么来防止超时并将事件排队或暂时禁用它?

谢谢。

4

3 回答 3

0

您是否有机会阻止 UI 线程?绝对没有理由做你所要求的(甚至不可能:)

于 2010-10-03T01:37:04.243 回答
0

除了罗曼所说的。
你可能想在你的 onTouchEvent 上 sleep()。

于 2010-10-03T02:14:54.177 回答
0

实现它的简单方法是在其上添加透明布局(将其添加到您的 xml 填充父级高度和宽度中)。

在动画开始 transaparentlayout.setClickabe(true); 在动画结束 transaparentlayout.setClickabe(false);

非常简单。

于 2013-08-26T17:45:05.183 回答