Java android: appending a newline using TextView
Solution 1
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");
Solution 2
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");
Solution 3
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.
Related videos on Youtube
maxcollins
Updated on July 09, 2022Comments
-
maxcollins almost 2 years
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.
-
Tapa Save about 10 yearsnline.setText(Html.fromHtml("<br>")); will be work correct if you add nline.setSingleLine( false);
-
-
jpm almost 11 yearsinteresting, that nobody else mentions the space before the '\n', thanks Maximus :)
-
Zon over 5 yearsWhat if it is
\n\n
? In this case everything else after that is being cut off.