我正在创建一个安卓游戏,我尝试使用 canvas.drawText() 方法来显示我的分数和等级,但它导致了错误。现在我正在尝试使用 TextViews 来显示它们,我正在使用 SurfaceVeiw,我想知道这是否可能,这是否是一种好方法。
最佳答案
您不能真正将 TextView 放入 SurfaceView。不过,您可以做的是在 SurfaceView 之上添加 TextView。如果您不知道如何做,请告诉我您是否需要帮助。
// You can use a FrameLayout to hold the surface view
FrameLayout frameLayout = new FrameLayout(this);
frameLayout.addView(surfaceView);
// Then create a layout to hold everything, for example a RelativeLayout
RelativeLayout relativeLayout= new RelativeLayout(this);
relativeLayout.addView(frameLayout);
relativeLayout.addView(textview1);
relativeLayout.addView(textview2);
setContentView(relativeLayout);
添加 View 时,使用 LayoutParams 来帮助组织事物可能会有所帮助。使用这个 documentation对于布局参数。希望这对您有所帮助!
如果您使用的是 XML 布局,我会使用 RelativeLayout,如上所述,在 FrameLayout 中包含 SurfaceView。将 TextView 置于 FrameLayout 之上只是为每个 View 配置 RelativeLayout 参数的简单问题。您似乎是 Android 新手,也许是这个 guide将在一般情况下帮助您使用 RelativeLayouts 和 XML 布局。
关于java - SurfaceView 中的多个 TextView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6969576/