當在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)  
那么,通過使用這些方法任意一個可以在代碼中計算出換行,它使你的應用程序在不同電話中的移植變得更加容易。
原文地址:http://developer.sonyericsson.com/site/global/techsupport/tipstrickscode/java/p_avoid_text_drawn_outside_canvas.jsp
(出處:http://m.survivalescaperooms.com)
新聞熱點
疑難解答