Android Html.fromHtml(String)不适用于<font color ='#'> text </ font>

Chr*_*ris 43 android textview

我正在尝试使用html标签向我的TextView添加不同颜色的线条.

不管出于什么原因

    Html.fromHtml("<font color='#145A14'>text</font>");
Run Code Online (Sandbox Code Playgroud)

将不会在TextView中显示彩色.

Bip*_*alu 53

Html.fromHtml("<font color='#145A14'>text</font>");
Run Code Online (Sandbox Code Playgroud)

而不是上面请使用以下

Html.fromHtml("<![CDATA[<font color='#145A14'>text</font>]]>");
Run Code Online (Sandbox Code Playgroud)

这对我有用,我相信它也适合你.

如有任何问题,请告诉我.


And*_*lph 23

我的答案涉及猜测你的代码,但是这里是:

使用字体标记时:请勿包含Alpha通道,以使十六进制字符串看起来像"#ff123456".如果使用Integer.toHexString(),则该结果中将包含alpha通道.

当我在rescource的十六进制字符串上使用substring(2)时它工作了.

总结一下:

text.setText(Html.fromHtml("<font color='#123456'>text</font>"));
Run Code Online (Sandbox Code Playgroud)

会工作,但是:

text.setText(Html.fromHtml("<font color='#ff123456'>text</font>"));
Run Code Online (Sandbox Code Playgroud)

惯于!


xst*_*mpx 21

确保关闭任何修饰符,如:

android:textAllCaps="true"
Run Code Online (Sandbox Code Playgroud)


Phi*_*ard 5

fromHtml方法在它支持的HTML标记方面非常有限,而字体不是其中之一.有关非官方列表,请参阅http://commonsware.com/blog/Android/2010/05/26/html-tags-supported-by-textview.html.我自己做了一些研究,我发现fromHtml是基于一个模糊且记录不良的渲染引擎.

  • 该列表似乎包括字体标记和颜色属性作为Html.fromHtml()方法支持的那些? (5认同)

Kon*_*rov 2

这看起来像是一种非常暗的颜色,您确定您的屏幕能够显示这种颜色,以便您可以将它们与黑色区分开来吗?代码片段看起来不错,我已经多次尝试过类似的代码,而且效果非常好。尝试使用更亮一点的颜色,即#ff0000(红色),以验证它是否有效:

TextView text = ... // find or instantinate your text view.
text.setText(Html.fromHtml("<font color='#ff0000'>text</font>"));
Run Code Online (Sandbox Code Playgroud)