web-dev-qa-db-fra.com

Java Android: ajout d'une nouvelle ligne à l'aide de TextView

Je veux juste ajouter une nouvelle ligne à ma mise en page linéaire:

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

Mais cela ne fait qu'ajouter quelques espaces. Est-ce que quelqu'un peut m'aider? Merci.

13
maxcollins

Si vous voulez juste avoir un espace vide entre deux autres vues, vous pouvez le faire dans votre XML (en supposant que vous utilisez XML pour la mise en page). Quelque chose comme cela pourrait fonctionner, en mettant en général une vue avec un fond transparent et une hauteur donnée. En supposant que vous ayez tous les paramètres souhaités dans vos TextViews.

<TextView />

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

<TextView />

En outre, dans ce que vous avez essayé ci-dessus ... vous pouvez essayer un espace et une nouvelle ligne ... qui pourrait fonctionner.

nline.setText(" \n");
17
Maximus

Vous devez d’abord faire en sorte que votre TextView soit multiligne. Et utilisez ensuite la chaîne "\n" simple pour le saut de ligne.

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

Vous devrez peut-être définir le type d'entrée sur TYPE_TEXT_FLAG_MULTI_LINE à l'aide de la méthode setInputType () de TextView

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

Vous pouvez également définir des marges/marges sur les autres vues. Je pense que TextViews ne devrait pas être utilisé à mauvais escient.

2
Stuck

Simple comme:

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

Simple en donnant "\ n" les données sont affichées dans une nouvelle ligne

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