Как добавить новую строку в TextView в Android?
когда я определяю TextView
на xml
, Как добавить к нему новую строку? n
кажется, не работает.
<TextView
android:id="@+id/txtTitlevalue"
android:text="Line1: n-Line2n-Line3"
android:layout_width="54dip"
android:layout_height="fill_parent"
android:textSize="11px" />
26 ответов
Я думаю, что это имеет какое-то отношение к вашему HTM.fromHtml(subTitle)
вызов: "\n " не означает bupkis для HTML. Попробуй!--1--> вместо "\n".
во-первых, поместите это в свой textview:
android:maxLines="10"
затем использовать \n
в тексте вашего textview.
maxLines делает TextView не более этого количества строк высотой. Вы можете выбрать другой номер :)
пробовал все вышеизложенное, сделал некоторые собственные исследования, в результате чего следующее решение для рендеринга линии подачи escape chars:
string = string.replace("\\n", System.getProperty("line.separator"));
используя метод replace вам нужно фильтровать бежал linefeeds (например
'\\n'
)только тогда каждый экземпляр line feed
'\n'
escape chars получает визуализацию в фактический linefeed
для этого примера я использовал Google Apps Scripting noSQL база данных (ScriptDb) с формированными данными JSON.
Ура: D
<TextView
android:id="@+id/txtTitlevalue"
android:text="Line1: \r\n-Line2\r\n-Line3"
android:layout_width="54dip"
android:layout_height="fill_parent"
android:textSize="11px" />
Я думаю, это сработает.
Я просто решаю ту же проблему, помещаю ниже атрибуты в xml
android:lines="2" android:maxLines="4" android:singleLine="false"
работа.Html.fromHtml("text1 <br> text2").toString()
также работать.
мои 2 цента, используя Android TV.
добавить \n
в строках XML при чтении:
public void setSubtitle(String subtitle) {
this.subtitle = subtitle.replace("\n", System.getProperty("line.separator"));
}
один из способов сделать это с помощью Html
теги::
txtTitlevalue.setText(Html.fromHtml("Line1"+"<br>"+"Line2" + " <br>"+"Line3"));
Если вы отладки, вы увидите, что строка на самом деле "\ \r\ \n"
или "\ \n"
, т. е., он сбежал. Поэтому, если вы массируете эту строку, чтобы избавиться от лишнего \
, у вас будет ваше решение. Это особенно актуально если Вы читаете из базы данных.
также вы можете добавить <br>
вместо \n.
и затем вы можете добавить текст в TexView:
articleTextView.setText(Html.fromHtml(textForTextView));
нужно поставить \n
в файле string.xml
<string name="strtextparkcar">press Park my Car to store location \n</string>
для меня решением было добавить в макет следующую строку:
<LinearLayout
xmlns:tools="http://schemas.android.com/tools"
...
>
и \n отображается как новая строка в визуальном редакторе. Надеюсь, это поможет!
ответ RuDrA05 хорош, когда я редактирую XML на eclipse, он не работает, но когда я редактирую XML с помощью notepad++, он работает.
то же самое происходит, если я читаю txt-файл, сохраненный с помощью eclipse или notepad++
возможно, связано с кодировкой.
Это прекрасно работает. Проверьте это для вашего приложения.
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text 1\nText 2\nText 3"/>
Примечание: заглавная надпись с помощью
android:inputType="textCapCharacters"
или подобное, кажется, останавливает \n
работать.
Если TextView находится в любом макете (например, LinearLayout), попробуйте изменить атрибут orientation на vertical как
android:orientation="vertical"
для макета или изменить TextView
атрибут android:singleLine="true"
создать новую строку после нее.