Domanda

Sto sviluppando un'applicazione Android. Recupera alcuni dati che assomigliano a questo:

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

Lo sto applicando a un TextView come questo:

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

Il problema che incontro qui è che html.fromhtml sembra applicare uno stile generale

Text example

a tutti i collegamenti, che è colorarli blu e sottolinearli. Preferirei non farlo, c'è qualche soluzione semplice per renderlo non stilizzare i collegamenti (e quindi, suppongo, "Font Color = qualunque cosa" si applicherebbe invece)? Il comportamento non cambia se il tag di collegamento HTML si trova all'interno dei tag carattere/stile.

È stato utile?

Soluzione

Uso android:textColorLink attributo. Temo che sia l'unico modo per cambiare il colore del collegamento.

Se sei sicuro di avere un solo collegamento nel testo, puoi fare quanto segue:

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);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top