Es scheint nicht möglich zu sein /n
, einer XML-Ressourcenzeichenfolge eine neue Zeile hinzuzufügen . Gibt es einen anderen Weg, dies zu tun?
Es scheint nicht möglich zu sein /n
, einer XML-Ressourcenzeichenfolge eine neue Zeile hinzuzufügen . Gibt es einen anderen Weg, dies zu tun?
Antworten:
Verwenden Sie einen Blackslash, keinen Forwardslash. \n
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="title">Hello\nWorld!</string>
</resources>
Wenn Sie die Zeichenfolge als HTML verwenden möchten, können Sie sie auch <br />
für einen Zeilenumbruch verwenden ( <br />
)
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="title">Hello<br />World!</string>
</resources>
Ich weiß, dass dies eine ziemlich alte Frage ist, aber sie stand bei meiner Suche ganz oben auf der Liste. Also wollte ich mit einer anderen Methode aktualisieren.
In der Datei strings.xml können Sie \ n ausführen oder einfach die Eingabetaste drücken:
<string name="Your string name" > This is your string. This is the second line of your string.\n\n Third line of your string.</string>
Dies führt in Ihrer Textansicht zu folgenden Ergebnissen:
Das ist deine Saite.
Dies ist die zweite Zeile Ihrer Zeichenfolge.
Dritte Zeile Ihrer Zeichenfolge.
Dies liegt daran, dass zwischen der Anfangsdeklaration der Zeichenfolge und der neuen Zeile zwei Rückgaben lagen. Aus Gründen der Übersichtlichkeit habe ich auch das \ n hinzugefügt, da beide verwendet werden können. Ich verwende gerne die Zeilenumbrüche in der XML-Datei, um eine Liste oder eine mehrzeilige Zeichenfolge anzeigen zu können. Meine zwei Cent.
Dies ist eine alte Frage, aber ich habe festgestellt, dass beim Erstellen eines Strings wie folgt:
<string name="newline_test">My
New line test</string>
Die Ausgabe in Ihrer App wird so aussehen (kein Zeilenumbruch)
My New line test
Wenn Sie die Zeichenfolge in Anführungszeichen setzen
<string name="newline_test">"My
New line test"</string>
Die neue Zeile wird angezeigt:
My
New line test
Html.fromHtml
. Vielen Dank
\n
überall zu platzieren (was schnell unlesbar und verwirrend werden kann). Unnötig zu sagen, aber nur für den Fall: Wenn Sie ein wörtliches Anführungszeichen in Ihrem Text haben möchten, müssen Sie ihm entkommen:\"
Wenn Sie "\ n" in eine Zeichenfolge in der XML-Datei einfügen, wird diese als "\\ n" verwendet.
So tat ich :
text = text.Replace("\\\n", "\n"); ( text is taken from resX file)
Und dann bekomme ich einen Zeilensprung auf dem Bildschirm
Wenn Sie den Übersetzungseditor in Android Studio verwenden, klicken Sie einfach auf das Symbol rechts (oder verwenden Sie die Umschalt-Eingabetaste) und fügen Sie dann Zeilenumbrüche mit der Eingabetaste hinzu. Dadurch wird \ n korrekt in die lokalisierte Datei strings.xml eingefügt.
In der neuesten Version von Android Studio wird "\ n" so gedruckt, als ob es dort sein sollte, es sei denn, die gesamte Zeichenfolge befindet sich in Apostrophen
Beispielsweise:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="title">"Hello\nWorld!"</string>
</resources>
Setzen Sie kein Leerzeichen nach \ n, sonst funktioniert es nicht. Ich kenne den Grund nicht, aber dieser Trick hat bei mir ziemlich gut funktioniert.
Ich möchte diese Antwort erweitern. Was sie meinten, ist dieses Symbol:
Es öffnet sich ein "echtes Editorfenster" anstelle des Textfelds mit eingeschränkten Funktionen in der großen Übersicht. In diesem Editorfenster sind Sonderzeichen, Zeilenumbrüche usw. zulässig und werden beim Speichern in den richtigen XML- "Code" konvertiert
Ich habe mich gerade diesem Problem gestellt. hat nicht TextView
mit Einschränkungsparametern gearbeitet. Das Hinzufügen android:lines="2"
scheint dies zu beheben.