Не представляется возможным добавить новую строку /n
в строку ресурса XML. Есть ли другой способ сделать это?
Не представляется возможным добавить новую строку /n
в строку ресурса XML. Есть ли другой способ сделать это?
Ответы:
используйте черную косую черту, а не прямую. \n
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="title">Hello\nWorld!</string>
</resources>
Кроме того, если вы планируете использовать строку в качестве HTML, вы можете использовать <br />
для разрыва строки ( <br />
)
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="title">Hello<br />World!</string>
</resources>
Я знаю, что это довольно старый вопрос, но он занял первое место в списке, когда я искал. Поэтому я хотел обновить с другим методом.
В файле strings.xml вы можете сделать \ n или просто нажать enter:
<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>
Это приведет к следующему на вашем TextView:
Это твоя строка.
Это вторая строка вашей строки.
Третья строка вашей строки.
Это потому, что было два возврата между начальным объявлением строки и новой строкой. Я также добавил \ n к нему для ясности, так как любой из них может быть использован. Мне нравится использовать возврат каретки в xml, чтобы увидеть список или любую многострочную строку, которая у меня есть. Мои два цента.
Это старый вопрос, но я обнаружил, что когда вы создаете такую строку:
<string name="newline_test">My
New line test</string>
Вывод в вашем приложении будет таким (без новой строки)
My New line test
Когда вы помещаете строку в кавычки
<string name="newline_test">"My
New line test"</string>
новая строка появится:
My
New line test
Html.fromHtml
. Спасибо
\n
везде (что может быстро стать нечитаемым и запутанным). Само собой разумеется, но на всякий случай: если вы хотите, чтобы в вашем тексте была буквальная кавычка, вы должны ее избежать:\"
Если вы поместите «\ n» в строку в XML-файле, он будет воспринят как «\\ n»
Так я и сделал :
text = text.Replace("\\\n", "\n"); ( text is taken from resX file)
И тогда я получаю скачок строки на экране
При использовании редактора переводов в Android Studio просто щелкните значок справа (или используйте Shift-Enter), а затем добавьте разрывы строк, используя return. Это правильно вставит \ n в локализованный strings.xml.
В последней версии Android-студии «\ n» будет напечатано так, как будто оно должно быть там, если только вся строка не в апострофах
Например:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="title">"Hello\nWorld!"</string>
</resources>
не ставьте пробел после \ n, иначе он не будет работать. Я не знаю причину, но этот трюк сработал для меня довольно хорошо.
Я хочу расширить на этот ответ. Что они имели в виду, это значок:
Он открывает «реальное окно редактора» вместо текстового поля с ограниченным набором функций в большом обзоре. В этом окне редактора разрешены специальные символы, разрывы строк и т. Д., Которые при сохранении преобразуются в правильный XML-код.
Я только столкнулся с этой проблемой. не работал TextView
с параметрами ограничения. Добавление android:lines="2"
кажется исправить это.