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.
- Calcular el tamaño del texto según el ancho del área de texto
- Cómo colocar textview con x, y posición
- Valor entero en TextView
- Actualizar dinámicamente TextView en Android
- Android cómo hacer TextView texto en negrita cuando se presiona o centrado
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
- Android.content.ActivityNotFoundException cuando el enlace no contiene http
- El fondo de TextView se está estirando
- ¿Cómo establecer el texto dentro de TextView para que esté en dos líneas?
- Cómo configurar mulitple clic evento para la única textview?
- Android TextView: establecer dinámicamente el color de fondo no funciona
- Spannable Vs Tipo Vs Html
- Cómo obtener texto de textview
- Android textview - no puedo conseguir que va
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?