2017-09-28 11 views
0

J'ai un TextView dans mon application Android que je veux afficher tout le texte sur une seule ligne. En ce moment, il est affiché comme ceci:Comment puis-je forcer mon textview à afficher le texte intégral sur une seule ligne?

c'est som
e texte

Quand je mets setSingleLine(), je reçois ceci:

c'est som e texte
(avis l'espace dans certains)

Quand j'utilise setMaxLines(1), je reçois ceci:

c'est som

Ce que je veux est la suivante:

ceci est un texte

Comment puis-je forcer le texte à afficher entièrement sur une seule ligne?

+0

Vous pouvez essayer d'utiliser la méthode de remplacement, par exemple 'String value =" une valeur sur deux lignes "; String value2 = value.replace ("\ r \ n", ""); ' – nekiala

+0

Cochez ce lien: https://developer.android.com/guide/topics/ui/look-and-feel/autosizing-textview. html il va redimensionner le texte en conséquence. –

+0

Merci pour les suggestions. Je vais regarder dans ces solutions. Alternativement, savez-vous comment faire pour que le texte s'affiche sur plusieurs lignes mais ne casse pas au milieu des mots? – bergstrat

Répondre

0

Vous pouvez essayer sur votre xml textview:

android:maxLines="1" 
+0

Cela ne fait que montrer une partie du texte. – bergstrat

+0

alternativement, savez-vous comment faire pour que le texte ne brise pas le mot milieu quand il enveloppe? – bergstrat

+0

Je pense que vous ne pouvez pas remplir tout votre texte, peut-être que vous pouvez essayer de réduire la taille du texte. –

0

Vous pouvez faire du texte en utilisant le code suivant défilement si vous voulez.

<TextView 
     android:id="@+id/txtBigLongTitle" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:ellipsize="marquee" 
     android:marqueeRepeatLimit="marquee_forever" 
     android:scrollHorizontally="true" 
     android:singleLine="true" 
     android:textAlignment="center" 
     android:textSize="18sp" 
     android:textStyle="bold" 
     tools:text="long text goes here......................"/> 
0

Les réponses ci-dessus fournissent une solution à mon problème. Le problème était que le programmeur précédent avait implémenté une logique qui commençait automatiquement une nouvelle ligne après 20 caractères.

Merci pour votre aide à tous!