¿Qué etiquetas HTML son compatibles con Android TextView?



android-textview (4)

La clase TextView de Android puede mostrar texto formateado a través de HTML.fromHtml () como se explica, por ejemplo, aquí: etiquetas HTML en cadena para TextView

La clase TextView solo puede tratar con un pequeño subconjunto de HTML, pero no sé qué etiquetas y atributos son compatibles y cuáles no. El resumen que se presenta aquí: http://commonsware.com/blog/Android/2010/05/26/html-tags-supported-by-textview.html no parece ser correcto. Por ejemplo, <div align = "..."> NO funciona para mí con Android 2.2


Answer #1

La mejor manera de usar las secciones de CData para la cadena en el archivo strings.xml para obtener una visualización real del contenido html en el TextView, el fragmento de código a continuación le dará una idea justa.

// en el archivo string.xml

<string name="welcome_text"><![CDATA[<b>Welcome,</b> to the forthetyroprogrammers blog Logged in as:]]> %1$s.</string>

Código Java

String welcomStr=String.format(getString(R.string.welcome_text),username);
tvWelcomeUser.setText(Html.fromHtml(welcomStr));

La sección de CData en texto de cadena mantiene intactos los datos de la etiqueta html incluso después de formatear el texto usando el método String.format. Por lo tanto, Html.fromHtml (str) funciona bien y verá el texto en negrita en el mensaje de bienvenida.

Salida:

Bienvenido, a tu tienda de aplicaciones de música favorita. Inicia sesión como: nombre de usuario


Answer #2

Noté que este artículo:

https://web.archive.org/web/20171118200650/http://daniel-codes.blogspot.com/2011/04/html-in-textviews.html

indica que <div> es compatible con Html.fromHtml (), pero no muestra soporte para el atributo "alinear".

(Se muestran otros atributos compatibles con las etiquetas en esa página).

El autor dice que construyó la referencia mirando el código en los repositorios de git para Android.

Editar: Con el tiempo, aparece la lista de etiquetas compatibles ha cambiado. Vea esta publicación posterior, por ejemplo: http://www.grokkingandroid.com/android-quick-tip-formatting-text-with-html-fromhtml/ .

Basado en estos dos artículos, sugeriría que examinar el código fuente parece ser la forma más confiable de obtener la información reciente.


Answer #3
if (  android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) 
     {
      tvDocument.setText(Html.fromHtml(bodyData,Html.FROM_HTML_MODE_LEGACY));
     } 
else { 
     tvDocument.setText(Html.fromHtml(bodyData));
     }

introduzca la descripción del enlace aquí






android-textview