I really cannot figure out why, but I am only able to get ellipsize working on maxLines=2
and more. I am displaying a few words of description and then a long s
Actually the problem is with the spannable text, if you set spannable text this wouldn't work. Other than this below code works for me
<TextView
android:id="@+id/tv_second"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="40dp"
android:layout_margin="5dp"
android:padding="5dp"
android:fontFamily="sans-serif-condensed"
android:textColor="#b3277b"
android:background="#f7ecff"
android:layout_below="@id/tv"
android:text="This is first line\nThis is second line\nThis is third line"
android:ellipsize="end"
android:maxLines="2"
/>
This code works for me:
In the xml add:
ellipsize
: marquee
lines
: 1
In java:
<yourTextView>.setHorizontallyScrolling(true);
<yourTextView>.setSelected(true);
If there is another item that request the "focus" you lose the marquee effect. The textView
need the state selected to prevent this.
There are two ways to fix it:
android:ellipsize="end"
attribute to android:ellipsize="marquee"
.android:maxLines="1" android:ellipsize="end"
attributes and add android:singleLine="true"
attribute.