android - plain - Crear TextView programáticamente con puntos suspensivos
textview html (1)
Estoy creando mediante programación un TextView que quiero hacer puntos suspensivos al final.
pseudo codigo
tv.setEllipsize(TextUtils.TruncateAt.END);
tv.setHorizontallyScrolling(false);
tv.setSingleLine();
Los trabajos anteriores GRANDES.
tv.setEllipsize(TextUtils.TruncateAt.END);
tv.setHorizontallyScrolling(false);
tv.setMaxLines(1);
Esto no funciona. ¿Es esto un error? No entiendo por qué no puedo obtener texto para elipsis al final al especificar maxLines, especialmente un maxLine de 1 pero setSingleLine está bien.
setSingleLine()
o setSingleLine(true)
evita que TextView cambie su altura a más líneas y obliga a TextView a ignorar los saltos de línea (el símbolo /n
en una cadena).
setMaxLines(int n)
muestra las primeras n líneas de la Cadena mostrada en TextView que están separadas por un salto de línea.
Por ejemplo, deje que la cadena sea "mi primera línea / ny mi segunda línea / ny una tercera"
-
setSingleLine()
permite que TextView muestre "mi primera línea y mi .." ya que se ha excedido el ancho de la pantalla y -
setMaxLines(1)
da como resultado "mi primera línea" -
setMaxLines(2)
da como resultado "mi primera línea" y debajo de una línea que dice "y mi segunda línea" -
setMaxLines(3)
obviamente no tiene ningún efecto en esta cadena de muestra.
Actualización: Esto debería funcionar para "setDoubleLine con truncamiento":
// optional: string.replace("/n",""); or string.replace("/n"," ");
tv.setSingleLine(false);
tv.setEllipsize(TextUtils.TruncateAt.END);
int n = 2; // the exact number of lines you want to display
tv.setLines(n);