htmlテキストを表示するために、私はカスタムTextView
を持っています。 pre-Nougatデバイスの場合は動作します。すでにヌガーに知っているように、fromHtmlは廃止され、それは私のコードは、このNougatのHtml.fromHtmlは、カスタム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);
}
HtmlHandler
クラスが呼び出されない飽きないさ、という問題それのようであるflag..soを必要とします。 (私はすでにすべての旗を試しました)。 HtmlHandler
でタグとスタイルを処理します。たとえばbackground-color
,color
などです。私はrgb
、rgba
、hls
などから色を取得するように実装していますが、Nougatでは色を読み取って表示することができます。なぜこうなった?どのように私は色のために自分の道を維持することができますか?あなたが何かを理解していない、または詳細が必要な場合は、私に教えてください。
私がテストに使用するHTMLは
<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>
あなたの質問を編集して、HTMLのサンプルと、あなたの 'TagHandler'にルーティングされていないものの表示を提供することができますか?例えば、 'Html'は' 'をかなり前からサポートしています。 7.1(おそらく7.0)は ''タグを扱いますが、以前はそうではありませんでしたが、あなたの問題がどこにあるのでしょうか? – CommonsWare
質問を編集します。問題は「スパン」ではない。なぜなら、 'div'でも' p'でも動作しないからです。問題は、私の 'HtmlHandler'クラスが決して呼び出されないことです。それは奇妙な部分です –
私のTagHandlerでは 'background'、' color'、 'color'のCSSスタイルの' ol'、 'ul'、' strike'、 'code'、' span'、 fontawesome、そしてそれらのうちの何人かがNougatに取り組んでいます –