如何暂时禁用/绕过Android OnTouchEvent

时间:2010-10-02 23:48:16

标签: java android eclipse events ontouchevent

我目前正在使用该活动

@Override
public boolean onTouchEvent(MotionEvent ev)
{

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

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

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

我该怎么做才能防止超时并将事件排队,或者暂时禁用它?

感谢。

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

在动画中启动transaparentlayout.setClickabe(true);在动画结束transaparentlayout.setClickabe(false);

很简单。