TextView与Html

Html
首先,我们来看下Html这个类。
在这里插入图片描述
Google官方定义:
This class processes HTML strings into displayable styled text. Not all HTML tags are supported.
(此类将HTML字符串处理为可显示的样式文本。并非所有的HTML标记都受支持。)

我们紧接着在来看Html类的几个方法。
public static Spanned fromHtml (String source)
public static Spanned fromHtml (String source,
int flags)
public static Spanned fromHtml (String source,
Html.ImageGetter imageGetter,
Html.TagHandler tagHandler)
public static Spanned fromHtml (String source,
int flags,
Html.ImageGetter imageGetter,
Html.TagHandler tagHandler)
public static String toHtml (Spanned text)
public static String toHtml (Spanned text,
int option)
public static String escapeHtml (CharSequence text)

1、public static Spanned fromHtml (String source)
从提供的HTML字符串返回可显示样式的文本,其中包含旧标志FROM_HTML_MODE_LEGACY。
注:该方法在API level 24(Android 7.0) 中已经过时,相反,用public static Spanned fromHtml (String source, int flags)
替代。

2、public static Spanned fromHtml (String source, int flags)
从提供的HTML字符串返回可显示的样式文本。HTML中的任何标记都将显示为一般替换图像,然后程序可以通过该图像替换为真实图像。

3、public static Spanned fromHtml (String source,
Html.ImageGetter imageGetter,
Html.TagHandler tagHandler)
从提供的HTML字符串返回可显示样式的文本,其中包含旧标志FROM_HTML_MODE_LEGACY。
注:该方法在API level 24(Android 7.0)中已经过时,相反,用 public static Spanned fromHtml (String source, int flags, Html.ImageGetter imageGetter, Html.TagHandler tagHandler) 替代。

4、public static Spanned fromHtml (String source,
int flags,
Html.ImageGetter imageGetter,
Html.TagHandler tagHandler)
从提供的HTML字符串返回可显示的样式文本。HTML中的任何标签都将使用指定的ImageGetter来请求图像的表示(如果不需要,则使用null)和指定的TagHandler来处理未知标记(如果不需要,则指定null)。

5、public static String toHtml (Spanned text)
返回提供的跨区文本的HTML表示形式。
注:该方法在API level 24(Android 7.0)中已经过时,相反,用public static String toHtml (Spanned text, int option)替代。

6、public static String toHtml (Spanned text, int option)
返回提供的跨区文本的HTML表示形式。 尽最大努力添加与跨度相对应的HTML标记。 另请注意,输入文本中的HTML元字符(例如“<”和“&”)将被转义。

7、public static String escapeHtml (CharSequence text)
返回给定纯文本的HTML转义表示形式。

下面我们接着来看Html类的几个常量。
FROM_HTML_MODE_COMPACT
FROM_HTML_MODE_LEGACY
FROM_HTML_OPTION_USE_CSS_COLORS
FROM_HTML_SEPARATOR_LINE_BREAK_BLOCKQUOTE
FROM_HTML_SEPARATOR_LINE_BREAK_DIV
FROM_HTML_SEPARATOR_LINE_BREAK_HEADING
FROM_HTML_SEPARATOR_LINE_BREAK_LIST
FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM
FROM_HTML_SEPARATOR_LINE_BREAK_PARAGRAPH
TO_HTML_PARAGRAPH_LINES_CONSECUTIVE
TO_HTML_PARAGRAPH_LINES_INDIVIDUAL

1、FROM_HTML_MODE_COMPACT:
fromHtml的标志(java.lang.String,int,android.text.Html.ImageGetter,android.text.Html.TagHandler):在两者之间使用换行符(单个换行符)分隔块级元素。 这会将使用选项TO_HTML_PARAGRAPH_LINES_INDIVIDUAL完成的跨区转换为HTML字符串转换。

2、FROM_HTML_MODE_LEGACY:
fromHtml的标志(java.lang.String,int,android.text.Html.ImageGetter,android.text.Html.TagHandler):在它们之间用空行(两个换行符)分隔块级元素。 这是N之前的处理方式。

3、FROM_HTML_OPTION_USE_CSS_COLORS:
指示应使用CSS颜色值而不是Color中定义的值的标志。

4、FROM_HTML_SEPARATOR_LINE_BREAK_BLOCKQUOTE:
指示<blockquote>元素内的文本默认情况下将与其他文本分隔的标记。

5、FROM_HTML_SEPARATOR_LINE_BREAK_DIV:
指示<div>元素内的文本将默认与一个换行符分隔的其他文本的标志。

6、FROM_HTML_SEPARATOR_LINE_BREAK_HEADING:
标志,指示<h1> ~<h6>元素内的文本默认情况下将与其他文本分隔,并带有一个换行符。

7、FROM_HTML_SEPARATOR_LINE_BREAK_LIST:
标志,指示<ul>元素内的文本默认情况下将与其他文本分隔,并带有一个换行符。

8、FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM:
指示<li>元素内的文本默认情况下将与其他文本分隔,并带有一个换行符的标记。

9、FROM_HTML_SEPARATOR_LINE_BREAK_PARAGRAPH:
指示<p>元素内的文本默认情况下将与其他文本分隔,并带有一个换行符的标记。

10、TO_HTML_PARAGRAPH_LINES_CONSECUTIVE:
toHtml的选项(android.text.Spanned,int):在<p>元素中包装由’\ n’分隔的连续文本行。 BulletSpans被忽略。

11、TO_HTML_PARAGRAPH_LINES_INDIVIDUAL:
toHtml的选项(android.text.Spanned,int):在<p><li>元素内包装由’\ n’分隔的每行文本。 这允许附加的ParagraphStyles在相应的<p><li>元素中编码为CSS样式。

TextView
如果说有一段Html文本,是可以直接放入TextView中进行显示的。操作如下:

textView.setText(Html.from(htmlString));  //htmlString是一段html文本

注:并不是所有的html标记都被支持。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值