J'ai un TextView
personnalisé, pour afficher le texte html. Pour les appareils pré-Nougat, cela fonctionne. Comme vous le savez déjà Nougat, fromHtml est dépréciée et il a besoin d'un flag..so mon code est comme çaHtml.fromHtml sur Nougat n'appelle pas personnalisé HtmlHandler
Spannable s = getRichText(text);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
super.setText(Html.fromHtml(s.toString(), Html.FROM_HTML_MODE_COMPACT, this, new HtmlHandler(getContext())), BufferType.SPANNABLE);
} else {
super.setText(Html.fromHtml(s.toString(), this, new HtmlHandler(getContext())), BufferType.SPANNABLE);
}
Le problème ce que la classe HtmlHandler
est jamais appelé se. (J'ai déjà essayé tous les drapeaux). Sur HtmlHandler
Je gère les étiquettes et les styles, par exemple background-color
, color
et cetera. J'ai mis en œuvre pour obtenir des couleurs de rgb
, rgba
, hls
etc Mais sur Nougat il n'accepte que des couleurs avec hex, car sur Nougat, fromHTML
peut "lire" les couleurs et les montrer. Pourquoi cela arrive-t-il? Comment puis-je garder mon chemin pour les couleurs? Si vous n'avez pas compris quelque chose, ou si vous avez besoin de plus de détails, faites le moi savoir.
Le html que j'utilise pour le test est
<p><strong>Server</strong><u> message</u><strong><u>!!!</strong></u> <span style="background-color: rgb(255,0,0);">Not working on Nugat</span></p>
Pourriez-vous éditer votre question et fournir un échantillon du code HTML, plus une indication de ce qui n'est pas routé vers votre TagHandler (où il était avant la version 7.0)? Par exemple, 'Html' a supporté' 'pendant un certain temps. Je vois que 7.1 (et probablement 7.0) gère maintenant les balises '', alors qu'il ne l'a pas fait auparavant - est-ce là où réside votre problème? – CommonsWare
Je modifie la question. Le problème n'est pas le 'span '. Parce que cela ne fonctionne ni avec 'div' ni avec' p'. Le problème est que ma classe 'HtmlHandler' n'est jamais appelée. C'est la partie bizarre –
Dans mon TagHandler je vérifie les styles 'ol',' ul', 'strike',' code', 'span',' div' et pour les styles css pour 'background-color',' color' et pour fontawesome, et aucun d'eux ne travaille sur Nougat –