Cómo mostrar 3 puntos al final del texto en la vista de texto
Sé que esta pregunta se hace muchas veces, he pasado por todas las soluciones, pero aún así el problema es el mismo.
Quiero que mi longitud de texto sea de 50 caracteres. Ahora viene en 2 líneas.
- Campo o etiqueta oculto en TextView?
- Android: ClickableSpan en TextView seleccionable
- TextView envuelve el texto después de cambiar el tipo de letra
- Actualizar Android TextView
- Programar el texto TextView de forma programática
A continuación se muestra lo que hice:
<TextView android:id="@+id/notification_Message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/notification_head" android:layout_centerHorizontal="true" android:layout_margin="10dp" android:gravity="center" android:ellipsize="end" android:maxLength="50" android:text=" Hello developer. please check this message for long length. max length to 50 characters. " android:textSize="20sp" />
El texto aquí es apenas un texto de la muestra que he agregado. No está mostrando 3 puntos en el extremo que muestra el mensaje hasta 50 caracteres. He intentado líneas máximas también, sola línea falsa también. Pero ningún resultado positivo. También no quiero manejar esto programáticamente añadiendo tres puntos lógicamente.
Por favor ayuda
- Cómo centrar un texto verticalmente en un texto estrecho en Android?
- Cómo establecer dinámicamente altura de texto altura android
- Actualización de Textview en una actividad con servicio local
- Justificar texto en TextView Android
- Cómo eliminar las líneas antiguas de un TextView
- Android: ¿define TextView TextStyle mediante programación?
- Android: ¿Cómo usar el Html.TagHandler?
- Cómo aumentar el espacio entre párrafos en una vista de texto
Hacer un ancho predeterminado para su TextView y agregar estos atributos
Corriente (Shout-out a @TD)
android:ellipsize="end" android:maxLines="1"
Depreciado
android:ellipsize="end" android:singleLine="true"
El maxLines se asegurará de que su texto no se mostrará en dos líneas y el elipse agregará los tres puntos en el final.
Para una línea de texto con punto, pero ahora su depreciado por lo que no use singleLine
más
Gracias a este post he encontrado que la forma de mostrar punto tras fin de texto si tenemos más una línea, funciona para mí 🙂
android:ellipsize="end" android:maxLines="2"
Ponga aquí esta respuesta porque toda la respuesta aquí es para la línea sola no para multiline
android:ellipsize
sólo funciona con:
android:singleLine="true"
o
android:maxLines="#any number#" android:scrollHorizontally="true"
Debido a que maxLength trunca el texto.
Así que tienes que administrar la etiqueta con código si quieres mostrar sólo 50 caracteres + puntos, o dejar que dos líneas para la vista de texto.
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:ellipsize="end" android:maxLines="2" android:scrollHorizontally="true" android:text="Hello developer. please check this message for long length. max length to 50 characters." android:textSize="20sp" />
El android:singleLine="true"
está obsoleto
Mejor uso
android:maxLines="1"
Y android:ellipsize="end"
para agregar "…" al final del texto
Use singleLine = "true"
para el texto del límite por singleLine
Cree su personalizar TextView:
<com.xyz.CustomizedTextViewName android:id="@+id/app_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:ellipsize="end" android:singleLine="true" android:maxEms="10" app:typeface="roboto_bold"/>
Yo también estaba luchando con esto. android:maxLength
no estaba teniendo ningún efecto así que android:maxWidth
alrededor con android:maxWidth
y funcionó.
Compruebe mi fragmento a continuación.
<TextView android:id="@+id/tv_comment_author" android:layout_width="wrap_content" android:layout_height="wrap_content" android:maxWidth="120dp" android:singleLine="true" android:ellipsize="end" android:text="@string/dummy_text"/>
Esta es la respuesta que quieres:
<TextView android:id="@+id/tv_title" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="wrap_content" android:text="Title" android:maxLines="1" android:ellipsize="end" android:maxWidth="195dp" android:textColor="@color/white" android:textSize="14dp" android:gravity="center" />
<TextView android:id="@+id/txt__customizer_item" android:layout_width="wrap_content" android:layout_height="40dp" android:gravity="center" android:paddingRight="20dp" android:singleLine="true" android:text=" Hello developer. please check this message for long length. max length to 50 characters. " android:textAppearance="@android:style/TextAppearance.Medium" android:textColor="@color/light_blue" android:textSize="20sp" />
Esto está trabajando para me.give relleno desde side.it derecho se muestra automáticamente …
El enfoque de @Lokesh funciona bien.
android:ellipsize="end" android:maxLines="2"
Pero me doy cuenta de un problema que TextView será truncado por palabra (en el defecto). Mostrar si tenemos un texto como:
Prueba long_line_without_any_space_abcdefgh
El TextView mostrará:
prueba…
Y he encontrado la solución para manejar este problema, reemplazar los espacios con el carácter Unicode no-break espacio, hace TextView wrap en caracteres en lugar de palabras:
yourString.replace(" ", "\u00A0");
El resultado:
Prueba long_line_without_any_space_abc …
- Cambiar formato de cadena de fecha en android
- ¿Cómo utilizar la fuente personalizada en android xml?