El texto no ellipsiza

Tengo un conjunto de TextView para ellipsize pero cuando pongo el texto en él no lo hace. ¿Algunas ideas?

<TextView android:id="@+id/LegalsView" android:ellipsize="end" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" /> 

Tratar:

 android:singleLine="true" 
 android:layout_width="wrap_content" 

Permitirá que TextView expanda siempre que lo necesite (incluyendo correr fuera de la pantalla). Para hacerlo ellipsize, usted va a tener que fijar una anchura como el conn del ciudadano recomendado, preferiblemente con android:layout_width="fill_parent" vez de un valor absoluto.

Sugerencias adicionales: También deseará establecer las líneas máximas del TextView (probablemente a 1), y para que aparezcan las elipsis ("…"), probablemente también tendrá que establecer

 android:scrollHorizontally="true" 

Es necesario que coincida con la configuración de android puede calcular correctamente la posición del objeto. Tiene varias combinaciones posibles, y depende del resto del diseño está en la misma línea.

Esta es una combinación que funciona:

 android:layout_width="0dip" // dynamic width android:layout_weight="1" // less weight, other objects still "0" android:ellipsize="end" // ... into end of text (right) android:singleLine="true" // one line, deprecated, but necessary for some ambients android:maxLines="1" // one line, new mode 

En resumen, se indica el peso, si se utiliza diseño dinámico, o simplemente un tamaño fijo, a continuación, indica que sólo tienen una línea y configura cómo se muestra "…".

La única manera que he podido hacer este trabajo es establecer width="1dp" , weight="1" , ellipsize="end" , maxLines="1" y scrollHorizontally="true" . Los dos primeros tienen el mismo tipo de efecto que width="match_parent" sin que el widget se expanda fuera del borde de la pantalla, los tres ajustes restantes tuvieron que ser hechos para obtener el texto para ellipsize.

Si usted está tratando de obtener las elipsis multilínea de trabajo, por desgracia, no funciona muy bien. Este es un error conocido en la plataforma Android y por lo que sé que no se ha solucionado.
En un TextView lo mejor que puedes conseguir es 2 líneas ellipsizing (que se puede lograr mediante la configuración

 android:maxLines="2" 

Consulte este enlace.
Incluso con un ancho absoluto como se menciona en otra respuesta, todavía sólo te da al máximo, 2 líneas de puntos suspensivos. (Pero como se mencionó también, la elipsis de una sola línea es alcanzable). Así, por ejemplo, su texto puede llenar su TextView de 8 líneas, pero se verá así al convertir los puntos suspensivos en:

  + ------------------------------------------------- - +
 |  |
 |  Este es mi texto fresco que se supone que llenar el |
 |  Textview entero pero desafortunadamente de t ... |
 |  |
 |  |
 |  |
 |  |
 |  |
 |  |
 |  |
 |  |
 |  |
 |  |
 |  |
 |  |
 |  |
 + ------------------------------------------------- - +

Si conoce el tamaño de su TextView, puede utilizar un componente personalizado disponible aquí (por desgracia, el proyecto de código de google que originalmente alojado parece haber desaparecido, por lo tanto este enlace es todo lo que pude encontrar).

Si no está definiendo un ancho específico para su TextView el texto se elipsará primero cuando su texto esté alcanzando el ancho de la vista principal.

Mi aplicación empezó ignorando maxlines & ellipsize cuando agregué

 android:textIsSelectable="true" 

Parece que estas opciones no son compatibles.

Esta solución funciona:

 android:ellipsize="end" android:singleLine="false" android:lines="3" android:maxLines="3" 

El ancho también se puede establecer en "wrap_content"

Cambia tu layout_width a cierto dp en lugar de wrap_content

y

utilizar
Android: singleLine = "true"

Androide: ellipsize = "end"

código:

  android:layout_width="50dp" android:layout_height="wrap_content" android:text="check this text" android:id="@+id/textView" android:singleLine="true" android:ellipsize="end"/> 

Sólo funciona en tiempo de ejecución, hacer algo como esto:

 textView.setEllipsize(TruncateAt.END); textView.setLines(1); textView.setHorizontallyScrolling(true); textView.setText("Long text goes here"); 

Creo que es necesario especificar un ancho absoluto para que funcione.

 android:layout_width="100dip" 

o

 android:layout_width="fill_parent" 
  • Desplazamiento por Android en la lista
  • Actividad requiere FLAG_ACTIVITY_NEW_TASK Indicador
  • ¿Cómo puedo alinear mi ImageView con mi TextView en LinearLayout?
  • Android (cambio de cadena en código java)
  • Conversión de TextView a String (tipo de) Android
  • No se puede inflar correctamente el diseño de un fragmento en la aplicación de Android
  • No inserte texto en Android TextView en el período en abreviatura
  • Desplazamiento horizontal automático de Android TextView
  • Android: muestra un cuadro de diálogo emergente cuando se hace clic en una palabra concreta de TextView
  • El texto (fuente) parece desvanecido en los apis más antiguos
  • Android: ¿Cómo hago bloques no rompibles en TextView?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.