Android 如何向扩展SurfaceView的类添加视图

Android 如何向扩展SurfaceView的类添加视图,android,button,surfaceview,Android,Button,Surfaceview,我是Android新手,对视图的工作方式感到困惑;我只是在学习一个教程,但我试图偏离它 我有一个活动,在onCreate中有一行: setContentView(新游戏面板(本)) GamePanel是一个扩展SurfaceView的类;它使用画布在屏幕上绘制东西 我想在屏幕上添加一个按钮;有办法做到这一点吗?任何提供onClick方法的东西都可以……是否可以在画布上绘制它并使其可单击?SurfaceView有两个部分,曲面和视图。避免扩展SurfaceView。如果你想在视图上绘制,子类化很有

我是Android新手,对视图的工作方式感到困惑;我只是在学习一个教程,但我试图偏离它

我有一个活动,在onCreate中有一行: setContentView(新游戏面板(本))

GamePanel是一个扩展SurfaceView的类;它使用画布在屏幕上绘制东西


我想在屏幕上添加一个按钮;有办法做到这一点吗?任何提供onClick方法的东西都可以……是否可以在画布上绘制它并使其可单击?

SurfaceView有两个部分,曲面和视图。避免扩展SurfaceView。如果你想在视图上绘制,子类化很有用,但大多数应用程序只想在表面上绘制。如果您将SurfaceView子类化,则可以同时访问这两个类,如果这不是您想要的,则很容易编写行为奇怪的代码

如果您想要基于视图的UI元素,不要试图将它们放在表面上。默认情况下,曲面位于视图UI层的后面,因此将UI元素放在顶部是自动的

您可以在中找到一些示例。“multi-surface test”以多个画布渲染的重叠SurfaceView为特色,这比您想要的要多一些,但它演示了您需要什么。其他示例的UI元素位于OpenGL ES渲染之上