El texto no ellipsiza
Tengo un conjunto de TextView para ellipsize pero cuando pongo el texto en él no lo hace. ¿Algunas ideas?
<TextView android:id="@+id/LegalsView" android:ellipsize="end" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" />
- ¿Por qué TextView.setTypeface () aumenta exageradamente mi altura TextView cuando uso la fuente Roboto-Italic.ttf?
- ¿Cómo añadir sombra en el texto personalizado?
- Estilo conjunto de Android en el código
- Cómo configurar la cadena de respuesta JSON formateada en un TextView?
- Texto de TextView de Android Trunca el comportamiento
- Nuevo Texto Seleccionable en el componente android 3 (API <= 11)
- TextView android: ellipsize = "marquee" no funciona como se esperaba
- Android Linkify enlaces textColor ignorado, estilo CSS anula posible?
- ¿Cómo utilizar EditTextPreference como un campo de texto de contraseña enmascarado?
- Androide ClickableSpan intercepta el evento de clic
- Android sola línea TextView sin los puntos
- TextView ClickableSpan estilo para estado pulsado
- El desplazamiento de texto no funciona
Tratar:
android:singleLine="true"
android:layout_width="wrap_content"
Permitirá que TextView
expanda siempre que lo necesite (incluyendo correr fuera de la pantalla). Para hacerlo ellipsize, usted va a tener que fijar una anchura como el conn del ciudadano recomendado, preferiblemente con android:layout_width="fill_parent"
vez de un valor absoluto.
Sugerencias adicionales: También deseará establecer las líneas máximas del TextView
(probablemente a 1), y para que aparezcan las elipsis ("…"), probablemente también tendrá que establecer
android:scrollHorizontally="true"
Es necesario que coincida con la configuración de android puede calcular correctamente la posición del objeto. Tiene varias combinaciones posibles, y depende del resto del diseño está en la misma línea.
Esta es una combinación que funciona:
android:layout_width="0dip" // dynamic width android:layout_weight="1" // less weight, other objects still "0" android:ellipsize="end" // ... into end of text (right) android:singleLine="true" // one line, deprecated, but necessary for some ambients android:maxLines="1" // one line, new mode
En resumen, se indica el peso, si se utiliza diseño dinámico, o simplemente un tamaño fijo, a continuación, indica que sólo tienen una línea y configura cómo se muestra "…".
La única manera que he podido hacer este trabajo es establecer width="1dp"
, weight="1"
, ellipsize="end"
, maxLines="1"
y scrollHorizontally="true"
. Los dos primeros tienen el mismo tipo de efecto que width="match_parent"
sin que el widget se expanda fuera del borde de la pantalla, los tres ajustes restantes tuvieron que ser hechos para obtener el texto para ellipsize.
Si usted está tratando de obtener las elipsis multilínea de trabajo, por desgracia, no funciona muy bien. Este es un error conocido en la plataforma Android y por lo que sé que no se ha solucionado.
En un TextView
lo mejor que puedes conseguir es 2 líneas ellipsizing (que se puede lograr mediante la configuración
android:maxLines="2"
Consulte este enlace.
Incluso con un ancho absoluto como se menciona en otra respuesta, todavía sólo te da al máximo, 2 líneas de puntos suspensivos. (Pero como se mencionó también, la elipsis de una sola línea es alcanzable). Así, por ejemplo, su texto puede llenar su TextView de 8 líneas, pero se verá así al convertir los puntos suspensivos en:
+ ------------------------------------------------- - + | | | Este es mi texto fresco que se supone que llenar el | | Textview entero pero desafortunadamente de t ... | | | | | | | | | | | | | | | | | | | | | | | | | | | + ------------------------------------------------- - +
Si conoce el tamaño de su TextView, puede utilizar un componente personalizado disponible aquí (por desgracia, el proyecto de código de google que originalmente alojado parece haber desaparecido, por lo tanto este enlace es todo lo que pude encontrar).
Si no está definiendo un ancho específico para su TextView
el texto se elipsará primero cuando su texto esté alcanzando el ancho de la vista principal.
Mi aplicación empezó ignorando maxlines & ellipsize cuando agregué
android:textIsSelectable="true"
Parece que estas opciones no son compatibles.
Esta solución funciona:
android:ellipsize="end" android:singleLine="false" android:lines="3" android:maxLines="3"
El ancho también se puede establecer en "wrap_content"
Cambia tu layout_width a cierto dp en lugar de wrap_content
y
utilizar
Android: singleLine = "true"
Androide: ellipsize = "end"
código:
android:layout_width="50dp" android:layout_height="wrap_content" android:text="check this text" android:id="@+id/textView" android:singleLine="true" android:ellipsize="end"/>
Sólo funciona en tiempo de ejecución, hacer algo como esto:
textView.setEllipsize(TruncateAt.END); textView.setLines(1); textView.setHorizontallyScrolling(true); textView.setText("Long text goes here");
Creo que es necesario especificar un ancho absoluto para que funcione.
android:layout_width="100dip"
o
android:layout_width="fill_parent"
- Cómo crear un archivo de texto e insertar datos en ese archivo en Android
- Copia de seguridad completa sms / mms contenido vía adb