-1

在我的 Android ( API 10) 游戏中,我使用了 a MVC pattern, aSurfaceView带有画布, aListView用于输入选择。

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >

<com.gorgo.pirates.MainGamePanel
    android:id="@+id/surface"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center" >
</com.gorgo.pirates.MainGamePanel>

<ListView
    android:id="@+id/mylist"
    android:layout_width="match_parent"
    android:layout_height="110dp"
    android:layout_gravity="center_horizontal|bottom"
    android:background="@android:color/transparent"
    android:cacheColorHint="@android:color/transparent"
    android:divider="#00000000"
    android:drawSelectorOnTop="true" >
</ListView>

所以现在我需要在屏幕上显示很多字符串(字符或旁白文本之间的语音):它们会在屏幕上停留 4 秒,然后它们会隐藏自己,我更改文本并重新使用它们等等。

我已经编写了这个有效的类,但它初始化了一个新的TextView每次draw()调用 O_O

但我发现我无法创建 3 或 4TextView以及setText我想创建的任何时候,因为我的外部线程无法修改View. 我已经尝试过没有成功的处理程序。

所以我正在考虑,canvas.drawText()但我不知道这是否是正确的方法。我还需要我的字符串自动适合我的 widht(Pastebin 的类做到了)并使用自定义字体。

提示?:(

4

1 回答 1

1

提示?当然,你必须使用这个:http: //developer.android.com/reference/android/text/Layout.html

于 2013-04-23T08:40:22.773 回答