Android TextView 中带有 <style> 标签的 Html 字符串样式问题

9
我正在尝试在TextView中显示HTML字符串。我使用了Html.fromhtml方法将HTML字符串加载到TextView上。但是它无法解析<pre>标签。以下是我的HTML字符串。
<style>u.style{color:#FF0000;}span.style2{color:#000000;}</style>
<u class="style"><span class="style2">some text</span></u>

我曾尝试使用可跨度字符串,但它会以相同的颜色显示下划线和带下划线的文本。我不想改变文字颜色。
s.setSpan(new ForegroundColorSpan(Color.CYAN), start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

有人能帮我创建一个自定义的TextView吗?它需要支持在TextView中使用<img>标签。


2
在这里,您正在使用CSS。Android不支持CSS,如果您想使用它,请使用Html.fromHtml(“标签中的文本”); - Rohit
我曾经使用过这种方法。但是我正在寻找一个自定义的TextView,它可以支持CSS。 - Roshni
TextView不支持样式标签,因此请尝试在WebView上加载。 - Haresh Chhelana
如果您使用<font color='#000000;'>一些文本</font>,它可能会起作用。 - ex0ns
@Roshni 我认为你需要使用 WebView 而不是 TextView,这样会更容易。只需将您的 WebView 设计得与 TextView 完全相同即可。 - Pratik Dasa
在TextView中,它不支持HTML的样式标签。因此,您不能在TextView中使用font-family。相反,创建一个WebView实例并在WebView上加载此字符串。 - Prajwal Waingankar
3个回答

9

这个支持内联样式吗?比如 <p style='margin: 0; color: #ff0000;'>这是一个段落。</p> - Sarvap Praharanayuthan
1
不,只支持上述标签。 - Meysam

4

TextView不支持stylespan标签。

您可以这样做:

String myHtmlString = Html.fromHtml("<u> <font color=\"#FF0000\"> some text </font> </u>");

请注意,这里 是支持的标签列表。


1
你应该像这样使用:

你需要像这样使用

String styledText = "This is <font color='red'>simple</font>.";
textView.setText(Html.fromHtml(styledText), TextView.BufferType.SPANNABLE);

它将以相同的颜色显示下划线和被下划线标记的文本。 - Roshni

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接