【发布时间】:2010-01-08 08:35:31
【问题描述】:
我正在创建一个使用 LunarLander 作为示例的 android 应用程序。 现在我需要创建一些在视图上绘制的按钮。 我不希望它们作为视图上方或下方的单独布局,而是在自定义视图中。 这是可能的还是我必须以编程方式显示按钮图像然后检测触摸。我使用 new 创建的按钮从不显示在应用程序上。我认为这是因为我已经覆盖了 onDraw 并且即使我调用了按钮也从未绘制过 super.onDraw(canvas);
【问题讨论】:
我正在创建一个使用 LunarLander 作为示例的 android 应用程序。 现在我需要创建一些在视图上绘制的按钮。 我不希望它们作为视图上方或下方的单独布局,而是在自定义视图中。 这是可能的还是我必须以编程方式显示按钮图像然后检测触摸。我使用 new 创建的按钮从不显示在应用程序上。我认为这是因为我已经覆盖了 onDraw 并且即使我调用了按钮也从未绘制过 super.onDraw(canvas);
【问题讨论】:
我认为您可以使用 FrameLayout 来显示两层 - 首先是月球表面,其次是带有按钮等的布局。您可以在 layout.xml 文件中定义所有内容。大概这就够了。
问候!
【讨论】:
如果您的视图扩展了 Linear/Relative/TableLayout,您可以使用 view.bringChildToFront(child)。
【讨论】:
使用 AbsoluteLayout & 然后在你的 ui 线程中设置 button.bringTioFront() & 你就完成了! 看这个帖子Problem when using more elements in the ListView
【讨论】: