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.
- Android Html.fromHtml (String) no funciona para <font color = '#'> text </ font>
- ¿Cómo obtengo el color de fondo de un TextView?
- TextView de Android y envoltura de texto
- Escala textSize en un TextView
- Dos elementos XML con id id
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" />
- Obtener texto seleccionado de TextView
- Cómo cambiar el estilo de un TextView en tiempo de ejecución
- Android: ¿Cómo usar el Html.TagHandler?
- ¿Cómo actualizar un TextView en una actividad de un servicio en Android?
- Cómo cambiar el texto de un TextView en el encabezado del cajón de navegación?
- Evitar que se rompa la palabra en TextView
- Configuración de un ancho de TextView en java
- Vista lateral con XML Android
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" />
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.
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.
- Android – ¿Es posible declarar una máscara alfa directamente dentro de la definición de la capa-lista XML?
- Cómo convertir el volumen a max programmatically en android?