Java android:使用TextView附加换行符

时间:2011-05-27 22:01:24

标签: java android textview newline

我只是想以某种方式在我的线性布局中添加一个新行:

layout = (LinearLayout) findViewById (R.id.layout);  

... //some other code where I've appended some strings already

final TextView nline = new TextView(this);
nline.setText(Html.fromHtml("<br>")); //i also tried:  nline.setText("\n");
layout.addView(nline);

但这只是增加了几个空格。有人可以帮我吗?感谢。

5 个答案:

答案 0 :(得分:27)

首先,您需要将TextView设为多行。然后使用简单的"\n"字符串进行换行。

final TextView nline = new TextView(this);
nline.setSingleLine(false);
nline.setText("first line\n"+"second line\n"+"third line");

答案 1 :(得分:18)

如果您只想在其他两个视图之间留一些空白,可以在XML中执行此操作(假设您使用XML进行布局)。像这样的东西可以工作,基本上放入一个透明背景和给定高度的视图。这假设你在TextViews中有任何你想要的参数。

<TextView />

<View android:background="#00000000"
      android:layout_height="12dp" //or whatever density pixel height you want
      android:layout_width="fill_parent" />

<TextView />

另外,在你上面尝试的内容中......你可以尝试一个空格和换行符......这可能有效。

nline.setText(" \n");

答案 2 :(得分:2)

您可能需要使用TextView的setInputType()方法将InputType设置为TYPE_TEXT_FLAG_MULTI_LINE

tv.setInputType(tv.getInputType()|InputType.TYPE_TEXT_FLAG_MULTI_LINE);

您也可以在其他视图上设置一些边距/填充。我认为TextViews不应该被误用作间隔符。

答案 3 :(得分:0)

简单如下:

String hello = getResources.getString(R.string.hello);
String world = getResources.getString(R.string.world);
textView.setText(hello + "\n" + world);

答案 4 :(得分:0)

简单地给予&#34; \ n&#34;数据以新行显示

txtView.setText("Latitude :" + latitude + "\nLongitude :" + longitude);