21 votes

Vue texte multiligne avec une largeur "wrap_content"

Je me demande comment faire en sorte qu'un TextView affiche son contenu sur plusieurs lignes sans spécifier la largeur dans le fichier XML.

Toute réflexion est la bienvenue.

ÉDITION: mon problème est que lorsque le texte dépasse la largeur définie (parce qu'il atteint la fin de l'écran), une partie du texte n'est tout simplement pas affichée. Je m'attendrais à ce que le texte soit coupé en deux lignes

24voto

Niek Haarman Points 13931

Bien que je ne puisse pas reproduire le problème de non-enveloppement, vous pouvez corriger le problème de positionnement en utilisant un poids sur le premier TextView. En utilisant le XML suivant, vous obtiendrez le résultat attendu dans la vue de disposition graphique dans Eclipse :

3voto

Wafaa BEK Points 66

Ajoutez également

android:minLines="2"
android:scrollHorizontally="false"

0voto

Raimi bin Karim Points 407

Vous pourriez essayer

android:inputType="textMultiLine"

dans votre fichier XML TextView. Cela a fonctionné pour moi.

0voto

Joseph Points 39

Je pense que j'avais un problème très similaire. J'avais un TextView avec un texte, où je n'étais pas sûr du nombre de lignes que cela prendrait. Il était encapsulé par un LinearLayout ayant android:layout_width="match_parent" pour garantir que mon texte remplira tout l'espace horizontalement. Cependant, le problème était que mon texte ne rentrait pas sur une seule ligne et quand il passait à une nouvelle ligne, le composant de vue suivant en dessous ne se déplaçait pas vers le bas pour donner assez d'espace pour que la deuxième ligne soit entièrement visible.

J'ai pu résoudre le problème en changeant le LinearLayout contenant mon TextView en un RelativeLayout. De cette manière, l'élément en dessous du texte (en fait en dessous du Layout lui-même) était automatiquement déplacé pour donner suffisamment d'espace pour le texte multi-ligne.

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