End TextView con 3 puntos con el uso de maxLength

Tengo un TextView en mi diseño que es wrap_content en layout_width. Se limita a un máximo de 15 caracteres por lo que estoy usando maxLength.

Necesito terminar este TextView con 3 puntos (…) y sucede solamente cuando doy el layout_width un tamaño fijo con dp, algo que no quiero hacer.

Sé que es posible esto por el código y cortar la cadena después del carácter 15 y luego agregar los 3 puntos, pero prefiero hacerlo por XML.

¿Alguna idea de cómo terminar el texto con 3 puntos y dejarlo wrap_content?

<TextView android:id="@+id/inbox_contactName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:lines="1" android:maxLines="1" android:ellipsize="end" android:singleLine="true" android:maxLength="15" android:textColor="#0670b4" android:textSize="16sp" /> 

Esto resolverá su problema, Utilice la propiedad ellipsize en su código XML

 android:ellipsize="end" <!-- This makes the magic ... thing --> android:maxEms="15" <!-- Limit of the Text --> android:singleLine="true" <!-- In case if you want everything in one line --> 

Editar: singleLine está obsoleto . Utilice maxlines="1" lugar.

Recojo (de comentario) que @Yaniv ya lo resolvió usando código – pero esta es la manera correcta de hacerlo (con xml). Puede ayudar a otros usuarios que aterrizan aquí. Truco es usar ambos toleftof y torightof.

 <RelativeLayout> ... <TextView android:layout_width="fill_parent" android:layout_height="fill_parent" android:singleLine="true" android:layout_toRightOf="@id/some_element1" android:layout_toLeftOf="@id/some_element2"/> ... <RelativeLayout> 

No puedes usar maxLength y Ellipsize aunque puedes definir Maximum EMS

 <TextView android:id="@+id/tv_hist_source_lang" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ellipsize="end" android:maxEms="8" android:maxLines="1" android:text="TextView" android:textAppearance="?android:attr/textAppearanceMedium" /> 

Se parece a esto

Utilizar este android:ellipsize="end"

Una de las formas más fáciles es agregar el padding + ellipsize derecho

 <TextView android:id="@+id/txtvw_contentcell_subhead" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Polem sampler, Lorem Ipsum golep tolem burop yemit noski" android:ellipsize="end" android:maxLines="1" android:textColor="@color/caption_black_color" android:textSize="@dimen/caption_size" android:paddingRight="40dp"/> 

Aquí hay un ejemplo de texto de subtítulos con límite de caracteres. Introduzca aquí la descripción de la imagen

Quitar la línea de xml

 android:lines="1" android:maxLines="1" 

Necesitaba hacer esto con Radio Button y quería limitar el tamaño a una línea. Cuando utilicé Android:singleline="true" , el círculo de comprobación del botón de radio desapareció. Aquí está el código que finalmente funcionó:

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

No hay necesidad de establecer ems. Esto probablemente funcionará también en TextView y otros componentes de interfaz de usuario. Espero que esto ayude a alguien.

Puedes usar

 android:maxWidth="100dp" android:maxLines="1" android:ellipsize="end" 

Sólo esto funciona para mí.

Sólo puede modificar la String cuando su longitud es superior a 20 para agregar el elipse.

MUY IMPORTANTE: ellipsize = "end" sólo funciona cuando maxLength se establece en un valor que es MÁS QUE el número de caracteres en una línea. Puede utilizar 'wrap_content' si alinea el final de TextView y comienza con cualquier otra vista (s).

Coloque otra vista de texto junto a la vista de texto actual y establezca sus datos en "…". Eso es.

  • Obtener el texto visible actual en la vista de texto
  • Excepción de Android TextView y puntero nulo
  • Android textview settext mostrar nullpointer excepción
  • Cómo configurar la parte de la vista de texto se puede hacer clic
  • Multilínea TextView
  • Ellipsize de TextView no funciona en maxLines = 1
  • Custom TextView en android con diferentes palabras de color
  • No puede desplazar el ViewPager al tocar TextView (con android: gravity = "center") en él
  • TextView muestra "false" en lugar de texto de recurso
  • ¿Cómo puede mostrar texto al revés con una vista de texto en Android?
  • En un Android TextView, ¿es posible insertar párrafos?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.