我有一个游戏Activity,其中包含一个填充整个屏幕的SurfaceView。 该应用程序被声明为全屏,并按此显示。
我的SurfaceView有一个OnTouchListener,它为GestureDetector提供一个在大多数设备上都能正常工作的功能。 监听器的设置简单如下:
surface.setOnTouchListener(listener);
然而,在Jelly Bean(Nexus 4)上,触摸软按钮(背面,家庭等)会产生一个与我的SurfaceView无关的坐标触摸事件。
目前这会产生奇怪的行为。
我可以通过简单地检查触摸事件并查看它们是否适合表面尺寸来解决这个问题。
然而,我想知道是否有一个更优雅的解决方案 - 只能从我的表面而不是那些软按钮给我触摸事件。
这对于未来某些设备的不同变化(例如,将软按钮放在UPPER区域中)也很重要。