21

I see that there are 4 different values to android:ellipsize:

none,start,mid,end and marquee

What is the meaning and effect of setting each of these?

Lii
  • 11,553
  • 8
  • 64
  • 88
png
  • 4,368
  • 7
  • 69
  • 118

1 Answers1

35

See the below image to know how android:ellipsize works enter image description here

I have used following xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:maxLines="4" 
        android:ellipsize="none" 
        android:singleLine="false" 
        android:text="Hi make this a very long string that wraps at least 4 lines, seriously make it really really long so it gets cut off at the fourth line not joke.  Just do it!" 
        android:layout_marginBottom="25dip" />

    <TextView 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:maxLines="4" 
        android:ellipsize="start" 
        android:singleLine="false" 
        android:text="Hi make this a very long string that wraps at least 4 lines, seriously make it really really long so it gets cut off at the fourth line not joke.  Just do it!" 
        android:layout_marginBottom="25dip" />

    <TextView 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:maxLines="4" 
        android:ellipsize="middle" 
        android:singleLine="false" 
        android:text="Hi make this a very long string that wraps at least 4 lines, seriously make it really really long so it gets cut off at the fourth line not joke.  Just do it!" 
        android:layout_marginBottom="25dip" />

    <TextView 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:maxLines="4" 
        android:ellipsize="end" 
        android:singleLine="false" 
        android:text="Hi make this a very long string that wraps at least 4 lines, seriously make it really really long so it gets cut off at the fourth line not joke.  Just do it!" 
        android:layout_marginBottom="25dip" />

    <TextView 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:maxLines="4" 
        android:ellipsize="marquee" 
        android:text="Hi make this a very long string that wraps at least 4 lines, seriously make it really really long so it gets cut off at the fourth line not joke.  Just do it!" />

</LinearLayout>
Aba
  • 2,307
  • 2
  • 18
  • 32
Sunil Kumar Sahoo
  • 53,011
  • 55
  • 178
  • 243
  • cant be explained better .. so marquee and end has same effect .I was using in my textview marquee and it was not coming on device and just tried testing with end and its coming . Any comment on this behavior.Thank you very much – png Jan 05 '12 at 09:45
  • 9
    You set `android:maxLines="4"`, and TextViews have 2 lines. Why? – jul Apr 02 '12 at 12:42
  • 3
    Middle and start ellipsize don't work for Honeycomb and later version of Android. – Mike Mar 31 '14 at 08:17
  • @Mike that is not necessarily true (at least on Nexus 5 running Android L in Jan 2016) – Richard Le Mesurier Jan 08 '16 at 09:20
  • for the case by @png, you need to set `singleLine=true`. interestingly, when you combo `ellipsize=marquee` & `singleLine=true`, you don't get the deprecation warning. – Aba Aug 14 '18 at 16:26