Pregunta

Estoy desarrollando una aplicación Android. Recupero algunos datos que se ven así:

<a href="http://google.com/" title=''><b><font color="gold">My Link to Google!</font></b></a>

Lo estoy aplicando a una vista de texto como esta:

myTextView.setText(Html.fromHtml(myHtmlString));

El problema que encuentro aquí es que html.fromhtml parece aplicar un estilo general

Text example

a todos y cada uno de los enlaces, que es colorearlos azul y subrayarlos. Prefiero no hacer que haga esto, ¿hay alguna solución simple para que no estilice los enlaces (y por lo tanto, supongo que "Font Color = lo que sea" se aplicaría en su lugar)? El comportamiento no cambia si la etiqueta de enlace HTML está en el interior de las etiquetas de fuente/estilo.

¿Fue útil?

Solución

Usar android:textColorLink atributo. Me temo que es la única forma de cambiar el color del enlace.

Si está seguro de que solo tiene un enlace en el texto, puede hacer lo siguiente:

Spanned text = Html.fromHtml(myHtmlString);
ForegroundColorSpan spans[] = text.getSpans(0, text.length(),
    ForegroundColorSpan.class);
if (spans.length > 0) {
    myTextView.setLinkTextColor(spans[0].getForegroundColor());
}
myTextView.setText(text);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top