2014-02-05 47 views
6

我正在创建一个游戏,需要SurfaceView才能实现OnTouchListener。在游戏过程中,我想暂停Listener一些特定的时间。我尝试从onTouch()方法返回false,但方法仍在执行。是否有任何其他方法让侦听程序暂停一段时间?任何人都请解释从onTouch()返回的错误实际上是什么意思?如果我在OnTouchListener中返回false,会发生什么?

回答

12

View documentation

Returns 
True if the listener has consumed the event, false otherwise. 

如果返回true你告诉Android版印刷机的照顾。算了吧。

如果你返回false你基本上说“不是我的问题,其他人将不得不照顾这个点击”。然后,android会将事件传递给其他视图,这可能在您的视图下。

0

你必须注销你的实现。您可以提供null作为参数。暂停模式结束后再次设置。如果return true,触摸事件将不会传递给其他可能的视图。

3

如果返回true,则表明您已消耗该事件的系统在documentation中可见。这意味着其他也有touchlistener的视图将无法处理此事件。如果您返回false,则该事件将传递给父视图进行处理。

例如,如果你有一个ListView嵌套在Viewpager中,Listview是可以处理touchevent的第一个视图。如果是横向滑动,则不会通过列表视图处理事件,并且viewpager将能够处理滑动。

相关问题