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

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

当前回答

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

其他回答

在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."

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

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

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

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

我认为这行得通。

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

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

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

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

欢呼:D

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

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

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