当我从服务中获取html文本时,我需要在文本View上显示文本。
Managing Safely <b> End Of Course Theory Test </b> <span style="color:red;"> part1 </span>
我将此文本设置为
tv.settext(Html.fromHTML("Managing Safely <b> End Of Course Theory Test </b> <span style="color:red;"> part1 </span>"));
显示粗体但未显示红色文字。
答案 0 :(得分:6)
如上所述@ρяσѕρєяKHTML
不支持Html.fromHtml.
span标记
您应该更改服务
OR
在代码中添加以下行,它会将span颜色html更改为字体标记,至少在您的情况下。
String yourHtmlText = yourHtmlText.replace("span style=\"color:", "font color='").replace(";\"","'").replace("</span>", "</font>");
对于其他人,我建议您根据自己的需要频繁使用String.split
,它会像魔术一样工作。
我希望这有效。
干杯:)
答案 1 :(得分:2)
您必须使用以下代码来显示来自html的数据
tv.settext(Html.fromHTML("Managing Safely <b> End Of Course Theory Test </b> <font color='red'>simple</font>"));
答案 2 :(得分:2)
正如您所见span
Html.fromHtml
不支持HTML font,div,p,...
标记。
因此,您应该只返回来自{{1}}等服务器的受支持标签,或使用webview显示所有html标签
答案 3 :(得分:1)
单独输入文字
TextView text = ... // find or instantinate your text view.
text.setText(Html.fromHtml("<font color='#ff0000'>text</font>"));
或使用spannable string
text.setText("");
text.append("Add all your funky text in here");
Spannable sText = (Spannable) text.getText();
sText.setSpan(new BackgroundColorSpan(Color.RED), 1, 4, 0);
使用此库支持所有html标记。