123 votes

Android: TextView tronque automatiquement et remplace les 3 derniers caractères de String

Si un String supérieure à l' TextViews'de largeur, il s'ajuste automatiquement à la ligne suivante. J'pouvez éviter cela en utilisant android:singleLine (obsolète) ou par la mise en android:inputType="text". Ce que j'ai besoin maintenant, c'est quelque chose qui remplace les 3 derniers caractères de mon String avec "...". Depuis que je ne suis pas en utilisant une police à espacement fixe ce sera toujours différent selon les lettres utilisées dans mon String. Alors je me demandais quelle est la meilleure façon d'obtenir les 3 derniers caractères d'une Chaîne en TextView et de les remplacer. Peut-être il y a déjà quelque chose de mis en œuvre dans le Android, car ce doit être un problème commun.

268voto

Nate Points 2100

Vous devriez pouvoir utiliser la propriété "Ellipsize" d'une vue de texte:

         <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/text_mytext"
            android:ellipsize="end"
            android:singleLine="true"
            />
 

Vous devrez peut-être aussi appliquer des valeurs de gravité à la présentation. J'ai parfois vu des vues "auto-étirer" sans elles.

32voto

BonanzaDriver Points 1959

J'ai trouvé un travail intéressant pour résoudre ce problème.

 maxLines=1
ellipsize=end
scrollHorizontally=true
 

Le truc, c’est cette dernière affirmation sur le défilement horizontal. Cela fonctionne au moins sur la v2.2.

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