我正在尝试使用html标签向TextView添加不同颜色的线条。
无论出于何种原因,
Html.fromHtml("<font color='#145A14'>text</font>");
不会在TextView中显示为彩色。
答案 0 :(得分:50)
Html.fromHtml("<font color='#145A14'>text</font>");
请使用以下
代替上述内容Html.fromHtml("<![CDATA[<font color='#145A14'>text</font>]]>");
这对我有用,我相信它也适合你。
如有任何问题,请与我联系。
答案 1 :(得分:23)
我的回答是关于你的代码的猜测,但是这里有:
使用字体标记时:请勿包含Alpha通道,以使十六进制字符串看起来像“#ff123456”。如果使用Integer.toHexString(),则该结果中将包含alpha通道。
当我在rescource的十六进制字符串上使用substring(2)时,它有效。
总结一下:
text.setText(Html.fromHtml("<font color='#123456'>text</font>"));
会奏效,但是:
text.setText(Html.fromHtml("<font color='#ff123456'>text</font>"));
不会!
答案 2 :(得分:20)
确保关闭任何修饰符,如:
android:textAllCaps="true"
答案 3 :(得分:5)
fromHtml方法在其支持的HTML标记方面极为有限,而字体不是其中之一。有关非官方列表,请参阅http://commonsware.com/blog/Android/2010/05/26/html-tags-supported-by-textview.html。我自己做了一些研究,我发现fromHtml基于一个模糊且记录不清的渲染引擎。
答案 4 :(得分:4)
我使用此代码
Html.fromHtml(convertToHtml("<font color='#145A14'>text</font>"));
public String convertToHtml(String htmlString) {
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("<![CDATA[");
stringBuilder.append(htmlString);
stringBuilder.append("]]>");
return stringBuilder.toString();
}
答案 5 :(得分:2)
看起来像一个非常深的颜色,你确定你的屏幕能够显示这样的颜色,所以你可以将它们与黑色区分开来吗?代码片段看起来不错,我多次尝试过类似的代码,它就像一个魅力。尝试使用更亮一些,即#ff0000(红色),以验证它是否有效:
TextView text = ... // find or instantinate your text view.
text.setText(Html.fromHtml("<font color='#ff0000'>text</font>"));
答案 6 :(得分:2)
textView.setText(Html.fromHtml("<font color='blue'>text</font>"));
答案 7 :(得分:1)
尝试这个,它应该有效
textView.setText(Html.fromHtml("<font color=\"#145A14\">text</font>"));
答案 8 :(得分:1)
确保您的RGB值为CAPITALIZED。 Android可以理解#00FF00而不是#00ff00。
答案 9 :(得分:1)
是的,我同意,它有时不起作用。
作为替代方案,我在xml中使用Textview:
android:textColorLink="yourColor"
就像魅力一样;)
答案 10 :(得分:0)
txt_description1.setText(Html.fromHtml("<font color='rgb'>"+str_description1+"</font>"));
如果您不想要单一的静态颜色并希望直接从编辑器反映,您可以使用&#34; rgb&#34;。它将反映您在编辑器中设置的确切颜色,只需在textview
和concat
中设置textview值即可。
你们都准备好了。
答案 11 :(得分:0)
对于带有超链接URL的彩色文本:
textView.setText(Html.fromHtml("You agree to our <font color='#F20000'><a href='https://www.yoururl.com'> Terms of Service</a></font> and <font color='#F20000'><a href='https://www.yoururl.com'>Privacy Policy</a></font>", Html.FROM_HTML_MODE_LEGACY), TextView.BufferType.SPANNABLE);
这对我有用,我相信它也将对所有人有用。