[Android/安卓] TextView以及Html.fromHtml支持的标签

本文介绍了HTML标签在Android TextView中的支持情况,包括文本格式化、图像嵌入等标签的具体表现形式,对于开发者理解HTML文本在Android应用中的展示非常有用。

TextView以及Html.fromHtml支持的标签

1.标签及说明

标签说明
<br> 或 <br></br>

插入一个简单的换行符。

标签是一个空标签,意味着它没有结束标签。

需要注意的是设置html不支持\n,

解决办法:String text = "你好\n世界".replaceAll("\n", "<br>");

<p>

段落。

元素会自动在其前后创建一些空白。会自动添加这些空间,您也可以在样式表中规定。

<div>

HTML 文档中的一个分隔区块或者一个区域部分。

常用于组合块级元素

<strong>

短语标签,用来定义计算机程序的样本重要的文本。

Android中表现为文本加粗
<b>

粗体的文本。

Android中表现为文本加粗

<em>

短语标签,用来呈现为被强调的文本。

Android中表现为斜体文本效果。
<cite>

作品(比如书籍、歌曲、电影、电视节目、绘画、雕塑等等)的标题。

注释:人名不属于作品的标题。

Android中表现为斜体文本效果。
<dfn>短语标签,用来定义一个定义项目。
Android中表现为斜体文本效果。
<i>

与文本中其余部分不同的部分,并把这部分文本呈现为斜体文本。

标签被用来表示科技术语、其他语种的成语俗语、想法、宇宙飞船的名字等等。

Android中表现为斜体文本效果。

<big>

用来制作更大的文本。

Android中表现为大号字体效果

<small>

用来制作更小的文本。

Android中表现为小号字体效果

<font>

规定文本的字体、字体尺寸、字体颜色。

style似乎在Android中不起作用

<blockquote>

摘自另一个源的块引用。

通常会对该元素进行缩进。

<tt>

打字机文本。

Android中表现为打字机或者等宽的文本效果

<a>

超链接,用于从一个页面链接到另一个页面。

最重要的属性是 href 属性,链接的默认外观如下:

  • 未被访问的链接带有下划线而且是蓝色的
  • 已被访问的链接带有下划线而且是紫色的
  • 活动链接带有下划线而且是红色的
<u>

与常规文本风格不同的文本,像拼写错误的单词或者汉语中的专有名词。

Android中表现为文本添加下划线

<sup>

上标文本。上标文本将会显示在当前文本流中字符高度的一半为基准线的上方,但是与当前文本流中文字的字体和字号都是一样的。上标文本能用来添加脚注。

比如:你好™。

<sub>

下标文本。下标文本将会显示在当前文本流中字符高度的一半为基准线的下方,但是与当前文本流中文字的字体和字号都是一样的。

下标文本能用来表示化学公式。

比如:H2O。其中2与<sup>例示中的™方式一致,不同的是2在下方显示

提示:请使用<sup> 标签定义上标文本。

<h1> - <h6>

<h1> - <h6> 标签被用来定义 HTML 标题。

<h1> 定义重要等级最高的标题。

<h6> 定义重要等级最低的标题。

<img>向网页中嵌入一幅图像。
标签并不会在网页中插入图像,而是从网页上链接图像。
标签创建的是被引用图像的占位空间。

菜鸟教程-Html所有标签的详细说明

2.<img>标签嵌入资源图标

//ic_hello_world 为drawable资源,即:R.drawable.ic_hello_world
//R.drawable.class必须手动传入,否则组件化开发的时候会因为R文件的问题,导致图标变成方块
fromHtml(
    getContext().getResources(),
    R.drawable.class,
    "你好世界<img src='ic_hello_world'/>"
);

public Spanned fromHtml(Resources res, @NonNull Class<?> drawableCls, String s) {
    return Html.fromHtml(s, (source) -> {
        Drawable ret = null;
        try {
            Object objId = drawableCls.getField( source ).get( null );
            if( objId == null ) return  null;
            ret = res.getDrawable( Integer.parseInt( objId.toString() ) );
            ret.setBounds( 0, 0, ret.getIntrinsicWidth(), ret.getIntrinsicHeight() );
        } catch (Exception e) {
            e.printStackTrace();
        }
        return ret;
    }, null);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

米歪(MiWi)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值