java - SurfaceView 中的多个 TextView

标签 java android

我正在创建一个安卓游戏,我尝试使用 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/

相关文章:

java - 如何使用java更改png文件的对比度

java - Spring加载JSON文件并通过requestMapping返回

java - 调用构造函数并初始化数据库名称

android - Maven在Gradle插件中发布逻辑

android - Android 上的 WiFi 入门

java - 检查 fragment 是否存在并重用它

java lang 类转换异常

java - 递归法

java - 创建对象的副本而不复制其属性引用

android - 如何在android中播放.rm文件?