【发布时间】:2012-06-21 15:36:38
【问题描述】:
我设计了一个菜单,其中包含几个不同 LinearLayouts 中的几个按钮,所有这些按钮都放置在 FrameLayout 内的动画 GLSurfaceView 上。当用户点击界面中的一个按钮时,我将当前布局的可见性设置为GONE,然后再进行下一个布局VISIBLE当用户选择一个关卡时,游戏开始并且所有布局都是GONE(除了a屏幕右侧的控制栏,但不包含在 FrameLayout 中)
在大多数手机上,菜单就像一个魅力,但我在 Xperia Ray 上做了一个快速测试,却发现我无法去任何地方,因为按钮无法点击。我的大多数 onClick 侦听器中都设置了Log.d 标签,在这种情况下,它们没有显示在 Logcat 中,因此侦听器似乎根本没有触发。我还注意到 GLSurfaceView 没有从它自己的 TouchEventListener 中返回任何内容。即使在顶部菜单中通过点击 GLSurfaceView 触发的功能被禁用,我通常仍然会在 Logcat 中收到一条消息。
我认为这可能与我使用 FrameLayout 的方式有关。 documentation 说它应该只有一个孩子,但我在 android 开发人员上阅读的另一篇文章通过在 FrameLayout 内的 ImageViews 上显示文本来演示如何为图像添加字幕。
最后,我还要说,我已经在模拟器中进行了测试,我发现 android v2.3 和 android v4 显示的行为与 ray 相同。目前,除了可以完美运行我的应用程序的 android v2.2 之外,我确信这些是唯一的。我对是否相信模拟器上的测试结果犹豫不决。
我个人很困惑,因为没有错误消息可以继续,但是有人可以提出解决方案吗?
【问题讨论】:
标签: android onclick android-framelayout xml-layout