Tengo una TextView
que quiero limitar los personajes de la misma. En realidad, puedo hacer esto, pero lo que estoy buscando es cómo agregar tres puntos (...) al final de la cadena. Este muestra que el texto ha continuado. Este es mi XML pero no hay puntos, aunque limita mi texto.
<TextView
android:id = "@+id/tvFixture"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_toLeftOf = "@id/ivFixture_Guest"
android:text = "@string/test_06"
android:lines = "1"
android:ems = "3"
android:gravity = "right"
style = "@style/simpletopic.black"
android:ellipsize="end"/>
singleLine
? Consulte también: ¿El atributo xml singleLine está en desuso o no está en Android?Lo siguiente es lo que aprendí jugando con varias opciones para forzar
TextView
a una sola línea (con y sin los tres puntos).android: maxLines = "1"
Esto simplemente fuerza el texto a una línea. Cualquier texto adicional está oculto.
Relacionado:
ellipsize = "fin"
Esto corta el texto que no se ajusta, pero les permite a los usuarios saber que el texto se ha truncado al agregar puntos suspensivos (los tres puntos).
Relacionado:
ellipsize = "marquesina"
Esto hace que el texto se desplace automáticamente por TextView. Tenga en cuenta que a veces debe establecerse en el código:
Supuestamente
android:maxLines="1"
yandroid:singleLine="true"
debería hacer básicamente lo mismo y dado que singleLine aparentemente está en desuso , preferiría no usarlo, pero cuando lo saco, la marquesina ya no se desplaza. SinmaxLines
embargo, sacar no lo afecta.Relacionado:
HorizontalScrollView con scrollHorizontally
Esto permite al usuario desplazarse manualmente para ver toda la línea de texto.
fuente
Pruebe esta propiedad de TextView en su archivo de diseño.
fuente
Supongo que quiere limitar el ancho a una línea y no limitarlo por carácter. Como
singleLine
está en desuso, podría intentar usar lo siguiente juntos:fuente
p.ej. puedes usar
esto restringirá la longitud de la vista de texto a 13, pero el problema es que si intentas agregar 3 puntos (...), no se mostrará, ya que será parte de la longitud de la vista de texto.
aparte de esto tienes que usar
fuente
Utilizar
android:singleLine="true"
android:maxLines="1"
app:layout_constrainedWidth="true"
Así es mi
TextView
aspecto completo :fuente
Estoy usando Horizonal Recyclerview.
1) Aquí en CardView, TextView se distorsiona verticalmente cuando se usa
Compruebe el texto audaz de Wyman Group, Jaskolski ...
2) Pero cuando usé singleLine junto con elipsis -
Compruebe el texto audaz de Wyman Group, Jaskolski ...
La segunda solución me funcionó correctamente (usando singleLine). También he probado en la versión del sistema operativo: 4.1 y superior (hasta 8.0), funciona bien sin fallas.
fuente
código:
xml:
p.ej
En Mateo 13, los discípulos le preguntaron a Jesús por qué habló a las multitudes en parábolas. Él respondió: "Se te ha dado conocer los misterios del reino de los cielos, pero a ellos no se les ha dado.
Resultado: En Mateo 13, los discípulos le preguntaron a Jesús por qué habló a las multitudes en parábolas. Él respondió: "Te ha sido dado saber ...
fuente
Obtuve el resultado deseado usando
El truco es establecer maxLines y minLines en el mismo valor ... y no solo android: lines = "2", no hagas el truco. También estás evitando cualquier atributo en desuso.
fuente
Debe agregar las siguientes líneas en su diseño para la vista de texto
Espero que esto funcione para usted.
fuente
Puede limitar el número de caracteres de su vista de texto y agregar (...) después del texto. Supongamos que necesita mostrar solo 5 letras y luego debe mostrar (...), simplemente haga lo siguiente:
un pequeño truco ^ _ ^. Aunque no es una buena solución. Pero un trabajo en torno al cual funcionó para mí: D
EDITAR: He agregado un cheque por menos caracteres según su número limitado. de personajes.
fuente
Para trabajar con el atributo android: ellipsize , debe limitar el ancho de diseño de TextView , de modo que el texto esté fuera de los límites de la vista de TextView.
Entonces, el atributo android: layout_width juega un papel clave aquí, configúrelo en consecuencia.
Un ejemplo puede ser:
Ahora, aquí si el texto en android: text = "Este es un texto muy largo para mostrar" no se ve desde TextView con un android: layout_width = "120dp" , android: ellipsize = "end" truncará el texto y colocar ... (3 puntos) después de eso. es decir, esto es muy largo ... se mostrará en TextView.
fuente
Creo que le das a la altura y al ancho de la vista de texto. Entonces su solución funcionará.
fuente
puedes escribir esta línea en xml donde tomas
textview
:fuente
El enfoque de @AzharShaikh funciona bien.
Pero me doy cuenta de un problema de que TextView se truncará por palabra (por defecto). Mostrar si tenemos un texto como:
prueba long_line_without_any_space_abcdefgh
TextView mostrará:
prueba...
Y encontré una solución para manejar este problema, reemplazar espacios con el carácter de espacio sin interrupción Unicode, hace que TextView ajuste los caracteres en lugar de las palabras:
El resultado:
prueba long_line_without_any_space_abc ...
fuente
fuente
Agregue estas dos líneas en su texto
fuente
puedes hacer eso al
xml
:fuente
Dots
@ end conmaxLength="35"
propiedad alguna solución?Solo cambias ...
Use esto debajo de la línea
.......
fuente