如何在Android中为TextView添加换行符?

时间:2010-05-15 15:17:44

标签: android newline textview

当我在TextView中定义xml时,如何为其添加新行? \n似乎不起作用。

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

30 个答案:

答案 0 :(得分:281)

不要相信Visual编辑器。 您的代码可以在emu中运行。

答案 1 :(得分:70)

尝试:

android:lines="2"

\n应该有用。

答案 2 :(得分:43)

尝试System.getProperty("line.separator");

答案 3 :(得分:34)

我认为这与您的HTM.fromHtml(subTitle)调用有关:“\ n”并不代表对HTML的bupkis。请尝试<br/>而不是“\ n”。

答案 4 :(得分:19)

首先,将其放在textview中:

android:maxLines="10"

然后在文本视图的文本中使用\n

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

答案 5 :(得分:16)

尝试了以上所有内容,对我自己进行了一些研究,得到了以下解决方案,用于渲染换行符转义字符:

string = string.replace("\\\n", System.getProperty("line.separator"));
  1. 使用替换方法,您需要过滤转义换行符(例如'\\\n'

  2. 只有这时换行符'\n'转义字符的每个实例都会呈现为实际的换行符

  3. 对于此示例,我使用了带有JSON格式化数据的Google Apps Scripting noSQL数据库(ScriptDb)。

    干杯:D

答案 6 :(得分:10)

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

我认为这会奏效。

答案 7 :(得分:8)

确保\n位于"\n"以便其正常工作。

答案 8 :(得分:8)

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

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

工作。Html.fromHtml("text1 <br> text2").toString()也可以。

答案 9 :(得分:7)

这解决了我的问题。

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

答案 10 :(得分:6)

System.getProperty("line.separator");这项工作适合我。

答案 11 :(得分:6)

我的2美分,使用Android TV。

在XML字符串中添加foreach,同时阅读:

\n

答案 12 :(得分:5)

这样做的一种方法是使用Html标签::

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

答案 13 :(得分:4)

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

答案 14 :(得分:4)

需要保留

1。android:maxLines="no of lines"

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

答案 15 :(得分:4)

如果您进行调试,您会看到该字符串实际上是"\ \r\ \n""\ \n",即它已被转义。因此,如果您按摩该字符串,以摆脱额外的\,您将获得解决方案。如果您正在从数据库中读取,则尤其如此。

答案 16 :(得分:4)

您也可以添加&lt;br&gt;代替\n.

然后您可以向TexView添加文字:

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

答案 17 :(得分:3)

您需要将\n放入文件string.xml

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

答案 18 :(得分:3)

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

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

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

答案 19 :(得分:1)

确保您使用your_package.R 而不是android.R

答案 20 :(得分:1)

附注:使用

对文本进行大写

</script> <div ng-controller="StatesController"> {{listdata}} <table class="table table-hover dataTable" id="table-editable"> <thead> <tr> <th>Country name</th> <th>State name</th> <th class="text-right">Action</th> </tr> </thead> <tbody> <tr ng-repeat="list in listdata" total-items="totalItems"> <td>{{list.name}}</td> <td ng-repeat="li in list.states">{{li.name}}</td> <td class="text-right"> </td> </tr> </tbody> </table> </div>

或类似似乎阻止了<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> <script type="text/javascript"> angular.module('App', []) .controller('StatesController', function($scope) { var data = [ { "id": 1, "name": "Afghanistan", "sortname": "AF", "deleted_at": null, "created_at": null, "updated_at": "2017-01-28 06:36:56", "states": [ { "id": 42, "name": "Badakhshan", "country_id": 1, "deleted_at": null, "created_at": null, "updated_at": null }, { "id": 43, "name": "Badgis", "country_id": 1, "deleted_at": null, "created_at": null, "updated_at": null } ] }, { "id": 2, "name": "Algeria", "sortname": "AL", "deleted_at": null, "created_at": null, "updated_at": "2017-01-28 06:36:56", "states": [ { "id": 44, "name": "Badakhshan", "country_id": 2, "deleted_at": null, "created_at": null, "updated_at": null } ] }] $scope.listdata = data; }); 的工作。

答案 21 :(得分:1)

这很好用。检查它是否适合您的应用。

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

答案 22 :(得分:1)

RuDrA05的答案很好,当我在eclipse上编辑XML时它不起作用,但是当我使用notepad ++编辑XML时,它可以工作。

如果我读取使用eclipse或notepad ++

保存的txt文件,也会发生同样的事情

可能与编码有关。

答案 23 :(得分:0)

对于TextView中的新行,只需在文本中间添加 \ n 即可 它有效..

答案 24 :(得分:0)

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

这将起作用。

答案 25 :(得分:0)

尝试 Textview_name.settext(“某事\ n新行”):

在Java文件中

答案 26 :(得分:0)

尝试一下:

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

答案 27 :(得分:0)

以编程方式:myTV.setText(“我的文本” +“ \ n” + myString);

答案 28 :(得分:0)

在您的stings.xml中创建一个字符串

 await Order.findById(id).populate('service')

然后在您的代码中引用字符串

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

答案 29 :(得分:0)

转到“值”>添加字符串内的字符串

选择您的类别“ \ n”观看

使用“ \ n”添加新行

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

android:text =“ @ string / category”