538 votes

Permettre multi-ligne dans la vue EditText dans Android?

Comment permettre les sauts de ligne dans la vue EditText d'Android ?

1275voto

Shardul Points 10371

Par défaut, tous les widgets EditText dans Android sont à plusieurs lignes.

Voici un exemple de code :

    android:lines="8" 
    android:minLines="6" 
    android:gravity="top|start" 
    android:maxLines="10" 
    android:layout_height="wrap_content" 
    android:layout_width="match_parent" 
    android:scrollbars="vertical" 
/>

6 votes

Y a-t-il un moyen d'avoir inputType défini sur textMultiLine et imeOptions sur actionSend? Je vois une touche Entrée sur le clavier S4 au lieu de envoyer quand je définis inputType sur textMultiLine et imeOptions sur actionSend.

1 votes

Pour "textMultiLine et imeOptions", voir stackoverflow.com/questions/5014219/…

3 votes

Une chose à noter, l'ajout d'un inputType annule au moins les attributs lines et minLines. J'avais inputType="phone" et les attributs de lignes n'avaient aucun effet

296voto

Knossos Points 2753

Vous pouvez trouver qu'il est préférable d'utiliser:

Cela est dû au fait que android:singleLine est obsolète.

0 votes

La réponse de Shardul devrait certainement fonctionner sur les API modernes. Puisqu'ils ont supprimé la partie singleLine obsolète de leur réponse (il y a longtemps). En ce qui concerne la question elle-même, c'est la partie la plus importante de leur réponse.

0 votes

Ne pas utiliser ceci. Provoque une IndexOutOfBoundsException dès que vous tapez quelque chose. Multiligne est désormais la valeur par défaut.

0 votes

@Chisko Un attribut XML ne causerait pas d'IndexOutOfBoundsException. Je ne me souviens pas quand le inputType par défaut a changé (est-ce même le cas ?), mais il est probablement préférable de le conserver pour des raisons de compatibilité descendante.

45voto

acoustic Points 714

Cela fonctionne pour moi, en fait ces 2 attributs sont importants: inputType et lines. De plus, vous pourriez avoir besoin d'une barre de défilement, le code ci-dessous montre comment en créer une :

22voto

Nandagopal T Points 1115

C'est ainsi que j'ai appliqué le extrait de code ci-dessous et cela fonctionne bien. J'espère que cela aiderait quelqu'un.

Santé! ...Merci.

11voto

milan Points 1022

EditText a la propriété singleLine. Vous pouvez la définir dans le fichier XML ou en appelant setSingleLine(false); http://developer.android.com/reference/android/widget/TextView.html#setSingleLine%28%29

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X