2016-07-20 12 views
0

Ich versuche, ein Spiel zu erstellen, aber derzeit ist ein Problem mit dem Rendern von Text aus Strings.xml zu einem SurfaceView.Hinzufügen neuer Zeilen in Zeichenfolgen in XML-Dateien

Beispiel Strings:

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

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

Die beiden oben genannten sind die Versuche, die ich versucht, aber es zeigt immer noch als einzige Zeile, wenn auf Leinwand gezogen canvas.drawText(getString(R.string.<resource>));

Wie kann ich es als zwei zeigen, machen Linien, vorzugsweise ohne die Strings zu spalten?

+1

Mögliches Duplikat von [Zeichne mehrzeiligen Text in Canvas] (http://stackoverflow.com/questions/6756975/draw-multi-line-text-to-canvas) –

+1

versuche, 'android: lines =" 2 hinzuzufügen "' zum xml. – Vucko

Antwort

0

Dinge funktionieren nicht gleich beim Zeichnen von Sachen auf Leinwand in Android!

drawText() zweimal mit einem Offset Y-Position eine neue Zeile zu simulieren!

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

Ja, das \ n sollte auf Android-Geräten funktionieren [check] (http://stackoverflow.com/questions/5460256/string-resource-new-line-n-not-possible) – 4gus71n

+0

\ n arbeitet mit Rohcode, aber es scheint nicht mit XML-Dateien zu arbeiten – Zoe

-1

Ich bin kein Experte, aber es ocurres mir, dass Sie ein besonderes Zeichen wie verwenden können „-“ in der XML-Datei und das Ersetzen es mit Java-Code mit der „\ n“ char.

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

es dann in DrawText verwenden

Dies funktioniert, wenn DrawText erlaubt "\ n" char.

Grüße!

0

¿Können Sie das versuchen?

Der Zeilenumbruch sollte funktionieren, da die Zeichenfolge in Anführungszeichen eingeschlossen ist.

Verwandte Themen