当我定义一个TextView在xml,我如何添加一个新的行?\n似乎不起作用。

<TextView
   android:id="@+id/txtTitlevalue"
   android:text="Line1 -\nLine2"
   android:layout_width="54dip"
   android:layout_height="fill_parent"
   android:textSize="11px" />

不要相信Visual编辑器。 你的代码在emu中工作。


确保你的“n”在“\n”中才能工作。


试一试:

android:行= " 2 "

\n应该工作。


我认为这与你的HTML. fromhtml (subTitle)调用有关:“\n”并不意味着HTML的bupkis。尝试<br/>而不是"\n"。


也可以加上&lt;br&gt;而不是\n。

然后你可以添加文本到TexView:

articleTextView.setText(Html.fromHtml(textForTextView));

如果你调试,你会看到字符串实际上是“\ \r\ \n”或“\ \n”,也就是说,它被转义了。所以如果你按摩那条线,去掉多余的\,你就得到了解决方案。如果从数据库中读取数据,情况尤其如此。


首先,把这个放在你的textview:

android:maxLines="10"

然后在textview的文本中使用\n。

maxLines使得TextView最多有这么多行高。你可以选择其他号码:)


尝试System.getProperty(“line.separator”);


您需要将“\n”放在strings.xml文件中,而不是在页面布局中。


我只是解决了同样的问题,把下面的属性在xml

android:lines="2" android:maxLines="4" android:singleLine="false"

work. html . fromhtml ("text1 <br> text2"). tostring()也工作。


确保你正在使用your_package。R 而不是机器人。R


需要保留

1.android:maxLines="no of lines"

2.并使用\n获取下一行


尝试了以上所有方法,我自己做了一些研究,得出了以下渲染换行转义字符的解决方案:

string = string.replace("\\\n", System.getProperty("line.separator"));

使用replace方法,您需要过滤转义换行符(例如。' \ \ \ n ') 只有这样换行'\n'转义字符的每个实例才会呈现为实际换行

在这个例子中,我使用了一个带有JSON格式数据的谷歌应用程序脚本noSQL数据库(ScriptDb)。

欢呼:D


这解决了我的问题。

stringVar.replaceAll("\\\\n", "\\\n");

你需要把\n放在文件string.xml中

<string name="strtextparkcar">press Park my Car to store location \n</string>

<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" />

我认为这行得通。


RuDrA05的答案很好,当我在eclipse上编辑XML时,它不起作用,但当我用notepad++编辑XML时,它确实起作用。

如果我读取一个用eclipse或notepad++保存的txt文件,也会发生同样的事情

可能和编码有关。


System.getProperty(“line.separator”);这对我很有用。


对于TextView中的新行,只需在文本中间添加\n 它的工作原理。


我的2美分,使用安卓电视。

在XML字符串中添加\n,同时读取:

public void setSubtitle(String subtitle) {
    this.subtitle = subtitle.replace("\\n", System.getProperty("line.separator"));
}

这很好。检查你的应用程序。

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text 1\nText 2\nText 3"/>

如果TextView是在任何布局(线性布局为例),尝试改变方向属性为垂直为 android:orientation="vertical"为布局或改变TextView属性android:singleLine="true"创建一个新的行后。


一种方法是使用Html标签::

txtTitlevalue.setText(Html.fromHtml("Line1"+"<br>"+"Line2" + " <br>"+"Line3"));

旁注:使用大写文本

android: inputType = textCapCharacters”

或类似的似乎阻止了\n的工作。


对我来说,解决方案是在布局中添加以下一行:

<LinearLayout
    xmlns:tools="http://schemas.android.com/tools"
    ...
    >

\n在可视编辑器中显示为新行。希望能有所帮助!


 android:text="Previous Line &#10; Next Line" 

这是可行的。


试试:

Textview_name.settext("something \n  new line "):

在Java文件中。


试试这个:

android:text="Lorem Ipsum \nDolor Ait Amet \nLorem Ipsum"

Programatically: myTV。背景(“我的文本”+“\n”+ mystline);


在sting .xml中创建一个字符串

<resources>
    ...
    <string name="new_line">\u000A</string>
</resources>

然后在代码中引用字符串

val linkString = "This is in the first line.${getString(R.string.new_line)}This is on the second line."

进入值>字符串在添加字符串

CHOOSE YOUR CATEGORY"\n"TO WATCH

使用“\n”添加新行

然后在文本视图中添加字符串名称

安卓:文本=“@string/类别”


你可以通过简单地在activity.main.xml的线性布局中添加android:orientation="vertical"来获得下一行的文本