当我定义一个TextView在xml,我如何添加一个新的行?\n似乎不起作用。
<TextView
android:id="@+id/txtTitlevalue"
android:text="Line1 -\nLine2"
android:layout_width="54dip"
android:layout_height="fill_parent"
android:textSize="11px" />
当我定义一个TextView在xml,我如何添加一个新的行?\n似乎不起作用。
<TextView
android:id="@+id/txtTitlevalue"
android:text="Line1 -\nLine2"
android:layout_width="54dip"
android:layout_height="fill_parent"
android:textSize="11px" />
当前回答
<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" />
我认为这行得通。
其他回答
一种方法是使用Html标签::
txtTitlevalue.setText(Html.fromHtml("Line1"+"<br>"+"Line2" + " <br>"+"Line3"));
尝试了以上所有方法,我自己做了一些研究,得出了以下渲染换行转义字符的解决方案:
string = string.replace("\\\n", System.getProperty("line.separator"));
使用replace方法,您需要过滤转义换行符(例如。' \ \ \ n ') 只有这样换行'\n'转义字符的每个实例才会呈现为实际换行
在这个例子中,我使用了一个带有JSON格式数据的谷歌应用程序脚本noSQL数据库(ScriptDb)。
欢呼:D
也可以加上<br>而不是\n。
然后你可以添加文本到TexView:
articleTextView.setText(Html.fromHtml(textForTextView));
这解决了我的问题。
stringVar.replaceAll("\\\\n", "\\\n");
如果TextView是在任何布局(线性布局为例),尝试改变方向属性为垂直为 android:orientation="vertical"为布局或改变TextView属性android:singleLine="true"创建一个新的行后。