将TextView添加到游戏主视图的最佳方法是什么?

时间:2011-03-02 16:28:02

标签: android

我目前正在为Android开发一款简单游戏,主要操作发生在我的GameView类上,这只是View的扩展。

我想在GameView的左上角添加一些显示分数的文字,想知道实现这个的最佳方法吗?

提前致谢

Matt Drewery

2 个答案:

答案 0 :(得分:5)

我认为你的GameView有画布,因为它是绘制图形,对吧?在这种情况下,如果您完成剩余的绘图,请使用

//canvas.drawText(String text, float x, float y, Paint paint); this is the actual method
canvas.drawText(score, 5, 5, null); //but yours would look more like this

然后你只需要创建“得分”字符串并让游戏更新它。

另外,您可能想尝试addView(View child)。它看起来像这样:

GameView.addView(TextView);

答案 1 :(得分:2)

这里有一点无耻的自我推销,但是如果你偷看Hexaddicus,你会发现我们将屏幕分成游戏视图和页脚,这是一种简单的旧视图。这不是你想要的“外观”,而是 方式。如果你想要更直观的外观和感觉,那么显然你不应该走这条路。

只需尝试使用您的游戏视图覆盖Android UI小部件。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<FrameLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/control_pane"
    android:layout_width="fill_parent" 
    android:layout_height="48dip"
    android:layout_alignParentBottom="true">
</FrameLayout>
<com.sharpermindstech.android.hexaddicus.opengl.views.HexBoardView
    android:id="@+id/gamefield" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_above="@id/control_pane" />
</RelativeLayout>