当我定义 a TextView
in 时xml
,如何向其中添加新行?\n
似乎不起作用。
<TextView
android:id="@+id/txtTitlevalue"
android:text="Line1 -\nLine2"
android:layout_width="54dip"
android:layout_height="fill_parent"
android:textSize="11px" />
不要相信可视化编辑器。您的代码在鸸鹋中确实有效。
尝试:
android:lines="2"
\n
应该管用。
尝试System.getProperty("line.separator");
我认为这与您的HTM.fromHtml(subTitle)
电话有关:“\n”并不意味着对 HTML 的 bupkis。尝试<br/>
代替“\n”。
首先,把它放在你的文本视图中:
android:maxLines="10"
然后\n
在你的文本视图的文本中使用。
maxLines 使 TextView 最多有这么多行高。您可以选择其他号码 :)
尝试了以上所有方法,我自己进行了一些研究,得出了以下用于渲染换行符转义字符的解决方案:
string = string.replace("\\\n", System.getProperty("line.separator"));
使用您需要过滤转义换行符的替换方法(例如'\\\n'
)
只有这样,每个换行符转义字符实例'\n'
才会被渲染到实际的换行符中
对于此示例,我使用了带有 JSON 格式数据的 Google Apps Scripting noSQL 数据库 (ScriptDb)。
干杯:D
确保您\n
可以"\n"
正常工作。
<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"));
这解决了我的问题。
stringVar.replaceAll("\\\\n", "\\\n");
System.getProperty("line.separator");
这对我有用。
您也可以添加 <br>
而不是\n.
然后你可以向 TexView 添加文本:
articleTextView.setText(Html.fromHtml(textForTextView));
如果你调试,你会看到这个字符串实际上是"\ \r\ \n"
or "\ \n"
,即它被转义了。因此,如果您按摩那根绳子,以摆脱多余的\
,您将获得解决方案。如果您正在从数据库中读取数据,则尤其如此。
您需要将文件放入不在页面布局内"\n"
的文件中。strings.xml
需要保持
1.android:maxLines="no of lines"
2.并\n
用于获取下一行
对我来说,解决方案是将以下行添加到布局中:
<LinearLayout
xmlns:tools="http://schemas.android.com/tools"
...
>
\n 在可视化编辑器中显示为新行。希望能帮助到你!
你需要把\n
文件string.xml
<string name="strtextparkcar">press Park my Car to store location \n</string>
android:text="Previous Line Next Line"
这将起作用。
试试这个:
android:text="Lorem Ipsum \nDolor Ait Amet \nLorem Ipsum"
这工作正常。检查您的应用程序。
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text 1\nText 2\nText 3"/>
你试一试:
Textview_name.settext("something \n new line "):
在 Java 文件中。
确保您正在使用your_package.R
而不是android.R
RuDrA05 的回答很好,当我在 eclipse 上编辑 XML 时它不起作用,但是当我用 notepad++ 编辑 XML 时它确实起作用。
如果我读取用 eclipse 或 notepad++ 保存的 txt 文件,也会发生同样的事情
也许与编码有关。
旁注:使用大写文本
android:inputType="textCapCharacters"
或类似的似乎停止\n
工作。
对于 TextView 中的新行,只需在文本中间添加\n即可。
如果 TextView 在任何布局中(例如,LinearLayout),请尝试将方向属性更改为垂直
android:orientation="vertical"
布局,或更改TextView
属性android:singleLine="true"
以在其后创建新行。
以编程方式: myTV.setText("My Text" + "\n" + myString);
在 stings.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."
转到值>字符串里面添加字符串
选择您的类别"\n"观看使用 "\n" 添加新行
然后在文本视图中添加字符串名称
android:text="@string/category"