如何避免文本被绘制到画布外面

当在Canvas上使用文本时,你可以通过一些东西使程序能够在更过的移动电话上运行。例如,文本的高度和宽度可能因开发商的不同而不同,Sony Ericsson Java Platform7(JP-7)上的字体宽度比以前Java平台稍宽。

那么,有些情况下一些文本可能被绘制到Canvas或者目标区域之外。例如,如果你对文本进行硬编码,或者你要显示一个有几行文本的信息屏幕,并且硬编码换行。

静态换行的应用程序可能会有些信息显示在目标区域之外
  

在Font类中一些方法可以用来得到一个字符串的宽度,如下:

int charsWidth(char[] ch, int offset, int length)
int charWidth(char ch)
int stringWidth(String str)
int substringWidth(String str, int offset, int len)

那么,通过使用这些方法任意一个可以在代码中计算出换行,它使你的应用程序在不同电话中的移植变得更加容易。