1

我有一个游戏活动,其中包含一个填满整个屏幕的 SurfaceView。该应用程序被声明为全屏,并显示为全屏。

我的 SurfaceView 有一个 OnTouchListener,它提供一个 GestureDetector,它的功能在大多数设备上都可以正常工作。监听器的设置很简单:

surface.setOnTouchListener(listener);

但是,在 Jelly Bean (Nexus 4) 上,触摸软按钮(返回、主页等)会在与我的 SurfaceView 无关的坐标中生成触摸事件。

这目前会产生奇怪的行为。

我可以通过简单地检查触摸事件并查看它们是否适合表面尺寸来解决这个问题。

但是,我想知道是否有更优雅的解决方案 - 一个只会从我的表面而不是那些软按钮给我触摸事件的解决方案。

这在某些未来的设备会做出不同变化的情况下也很重要(例如,将软按钮放在 UPPER 区域)。

4

0 回答 0