maxcollins
maxcollins

Reputation: 203

Java android: appending a newline using TextView

I just want to add a new line somehow to my linear layout:

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);

But this just adds a few spaces. Can someone help me out? Thanks.

Upvotes: 19

Views: 69095

Answers (5)

Akila
Akila

Reputation: 765

Simple by giving "\n" data is displayed in a new line

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

Upvotes: 0

Leebeedev
Leebeedev

Reputation: 2146

Simple as:

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

Upvotes: 0

inazaruk
inazaruk

Reputation: 74780

First you need to make your TextView to be multiline. And then use simple "\n" string for linebreak.

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

Upvotes: 33

Maximus
Maximus

Reputation: 8431

If you just want to have some empty space between two other views, you could do this in your XML (assuming you're using XML for the layout). Something like this could work, basically putting in a View with a transparent background and given height. This is assuming you have whatever parameters you want in your TextViews.

<TextView />

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

<TextView />

Also, in what you tried above... you could try a space and newline... that might work.

nline.setText(" \n");

Upvotes: 20

Stuck
Stuck

Reputation: 12292

You may need to set the InputType to TYPE_TEXT_FLAG_MULTI_LINE using the setInputType() method of TextView

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

You also could just set some margin/padding on the other views. I think that TextViews should not be misused as spacers.

Upvotes: 4

Related Questions