studio fromhtml example android html formatting textview

fromhtml - Mostrar<ul><li> en la vista de texto de Android



html.fromhtml android example (5)

Tengo String con ul y li en ella. Y estoy tratando de mostrarlos en formato HTML en vista de texto.
textView.setText(Html.fromHtml(myHtmlText));
Pero textview muestra el texto plano. ¿Cómo puedo tener las etiquetas ul y li formateadas en vista de texto?


De acuerdo con la respuesta a continuación, no puedes usar todas las etiquetas HTML aquí;

https://.com/a/3150456/2275962

Pero, claro, hay una forma de mostrar viñetas en TextView de Android. Puede reemplazar las etiquetas <li> con &#149; (que es código HTML para la viñeta).

Si desea probar otros íconos de la lista, use el enlace preferido de la tabla en este enlace;

http://www.ascii-code.com/


En mi caso, mis datos provienen de una llamada a la API. Todavía necesitaba la salida para coincidir con el formato de mi aplicación, así que envuelvo la cadena HTML en las etiquetas de formato para mostrar en mi WebView:

public static String formatHtmlString(String stringIn) { String format = "<html>" + " <head>" + " <style type=''text/css''>" + " body { " + " font-family: /"HelveticaNeue-Light/", /"Helvetica Neue Light/"; " + " font-size:14px;" + " color:#000;" + " }" + " b { " + " font-size:14px;" + " }" + " i { " + " font-size:10px;" + " color:#333333;" + " opacity:0.75;" + " }" + " </style>" + " </head>" + " <body>" + stringIn + "</body>" + "</html>"; return format; }


Puedes usar Html.TagHandler.

En tu caso será así:

public class UlTagHandler implements Html.TagHandler{ @Override public void handleTag(boolean opening, String tag, Editable output, XMLReader xmlReader) { if(tag.equals("ul") && !opening) output.append("/n"); if(tag.equals("li") && opening) output.append("/n/t•"); } }

y

textView.setText(Html.fromHtml(myHtmlText, null, new UlTagHandler()));



Etiquetas compatibles en los recursos de cadena

Las etiquetas en los recursos de cadena estática son analizadas por android.content.res.StringBlock, que es una clase oculta. He revisado la clase y he determinado qué etiquetas son compatibles:

<a> (supports attributes "href") <annotation> <b> <big> <font> (supports attributes "height", "size", "fgcolor" and "bicolor", as integers) <i> <li> <marquee> <small> <strike> <sub> <sup> <tt> <u>

Etiquetas compatibles con Html.fromHtml ()

Por alguna razón, Html.fromHtml () maneja un conjunto diferente de etiquetas de las que admite el texto estático. Aquí hay una lista de las etiquetas (extraídas del código fuente de Html.java):

<a> (supports attribute "href") <b> <big> <blockquote> <br> <cite> <dfn> <div> <em> <font> (supports attributes "color" and "face") <i> <img> (supports attribute "src". Note: you have to include an ImageGetter to handle retrieving a Drawable for this tag) <p> <small> <strong> <sub> <sup> <tt> <u>

Vea este link para más detalles.