在我的 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 的类做到了)并使用自定义字体。
提示?:(