7

In iOS text control has this behavior where if text doesn't fit on the screen it will get truncated and "..." gets automatically appended.

Any way to get similar behavior from Android TextView?

AlexVPerl
  • 7,652
  • 8
  • 51
  • 83

1 Answers1

18

Of course you also have this in Android.

The property is named "Ellipsize" and you have several options.

In XML:

android:ellipsize="start|marquee|end"

Or via code

textView.setEllipsize(TruncateAt.START | TruncateAt.END | TruncateAt.MARQUEE);

The values mean:

  • Start: Places the "..." at the text start
  • End: Places the "..." at the end
  • Marquee: Does a "scrolling marquee"

NOTES: Single Line

TextView should be single line, so to make it work, also do this (or their equivalent XML properties maxLines and singleLine):

textView.setSingleLine(true);

or

textView.setMaxLines(1);

Notes: Marquee Mode

For the Marquee to work, the TextView has to have focus (the marquee will start moving once you press the textview). You can also force the marquee to automatically scroll by issuing:

textView.setFocusable(true);
textView.requestFocus();
TooCool
  • 10,598
  • 15
  • 60
  • 85
rupps
  • 9,712
  • 4
  • 55
  • 95