Comment puis-je afficher des points de suspension sur mon TextView s’il est supérieur à la ligne 1?

J’ai la mise en page suivante qui ne fonctionne pas:

      

C’est un problème commun. Essayez d’utiliser les éléments suivants:

 android:scrollHorizontally="true" android:ellipsize="end" android:maxLines="1" 

………….. le scrollHorizontally est la “sauce spéciale” qui le fait fonctionner.

Cela fera également une seule ligne avec ellipsise

  android:singleLine="true" 

Utilisez ceci

 android:ellipsize="end" android:singleLine="true" 

Ne l’utilisez pas sans avoir pleinement conscience de la sortie

 android:ellipsize="end" android:maxLines="1" 

Lorsque vous utilisez maxlines = 1 il faudra un certain temps pour tronquer la plupart des caractères.

La façon dont cela fonctionnait pour moi sur plusieurs périphériques / API était programmée comme ceci (où tv est votre TextView):

  if (tv.getLineCount() > 1) { int lineEndIndex = tv.getLayout().getLineEnd(0); Ssortingng text = tv.getText().subSequence(0, lineEndIndex - 3) + "\u2026"; tv.setText(text); }