2016-07-20 84 views
0

我想創建一個遊戲,但我目前面臨將文本從Strings.xml渲染到SurfaceView的問題。在XML文件中的字符串中添加新行

例字符串:

<string name="somestring">Some String 
       SOme more string</string> 

<string name="somestring">Some String\nSOme more string</string> 

兩個以上是我曾嘗試嘗試,但它仍然顯示爲單線時使用canvas.drawText(getString(R.string.<resource>));

帆布畫我怎樣才能使它顯示出兩個線,最好不分割字符串?

+1

可能重複的[畫多行文字到畫布](http://stackoverflow.com/questions/6756975/draw-multi-line-text-to-canvas) –

+1

嘗試添加'android:lines =「2 「'給xml。 – Vucko

回答

0

在Android上的畫布上繪製東西時,事情並不一樣!

drawText()兩次用偏移量Y位置模擬換行符!

canvas.drawText("Some String", 100, 100, paint); 
canvas.drawText("SOme more string", 100, 150, paint); 
+0

是的,\ n應該可以在Android上正常工作檢查[this](http://stackoverflow.com/questions/5460256/string-resource-new-line-n-not-possible) – 4gus71n

+0

\ n適用於原始代碼,但它似乎不適用於xml文件 – Zoe

-1

我不是專家,但我ocurres,你可以像使用一個特殊字符 - 在XML文件中,並用java代碼用「\ n」字符替換爲「」。

String somesTring = getString(R.string.<resource>).replace("-","\n"); 

然後在DrawText的

這個工作,如果DrawText的允許 「\ n」 個字符使用它。

問候!

0

¿你能試試嗎?

<string name="example">"Some string 
     hey"</string> 

換行符應該工作,因爲字符串是用引號括起來的。

相關問題