TextView与Html

支持Html渲染的TextView—LinkTextView 需求场景是这样的: 在Android中实现如下效果: 很多人都会说:So easy!交给h5去做,It’s not my bussiness!好吧,我也好想说一句:H5你去做吧,It’s not my bussiness! 然并卵,产品需求说要做Android源生的,然后苦逼的事情就此开始了……然后,思想步入正轨,开始思考这个需求的实现方式: 1.一个TextView控件,通过Spann 阅读详情

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标记都被支持。

Android TextView的HTML及图片显示技巧 通过自定义和,我们可以控制网页的加载行为和响应各种网页事件。@Override// 在当前WebView中加载URL// 不调用系统浏览器加载URL});// 处理页面加载进度条更新等// 更新进度条});通过重写方法,可以决定是否在WebView中处理URL加载,而不是打开外部浏览器。 阅读详情

相关推荐

html-textview:TextView显示简单HTML

项目已停止 该项目已停止。 4.0是最新版本。 随意分叉此项目并接管维护。 HtmlTextView适用于Android HtmlTextView是Android的扩展TextView组件,可以通过将其转换为Android Spannables进行加载来加载非常简单的HTML。 除了少量HTML标签外,该库还允许从本地drawables文件夹或Internet加载图像。 该库保持很小,没有外部依赖性。 如何汇入 将此添加到您的build.gradle中: repositories { jcenter() } dependencies { compile 'org.sufficientlysecure:html-textview:4.0' } 例 < org.sufficientlysecure.htmltextview . HtmlTextView android : id = " @+id/html_text " android : layout_width = " match_parent "

Android Html.fromHtml(String)过时的替代方法

问题 当我们想用TextView来显示一段html代码时,则会用到Html.fromHtml(String) 但是现在这个方法是过时的。 解决 使用API Level 23或之前的设备可以用过时的方法,API Level 24或以上的设备则使用2个参数的方法即可。 fromHtml(String source, int flags) 即: TextView tv_text = (Text...

fengyeNom1的博客 4107

PL端:HDMI 输出实验

开发板没有HDMI编码芯片,是将FPGA的3.3差分IO直接连接到HDMI连接器,FPGA 完成 24 位 RGB 编码输出TMDS 差分信号。1、学会使用第三点IP核,首先是添加,后面的使用和自带IP核操作一致。2、主要还是在梳理vivado使用流程。

qq_43441284的博客 4286

TextView设置html标签内容

需求背景: 内容通知来自服务端的推送,因为不一样的活动需要,推送不一样的内容,内容的组成部分为html,都是前端的标签,可能有多个不同网址。 而app内,要使用TextView来显示html的内容,因为内容的不一样,以及内置的链接要适用跳转到app内的各个模块; 内容分析: 从需求来看,主要有以下几点注意: 1、活动内容不一致,html包含各种不同的格式; 2、内容都是html标签;

azhansy 1740

ArcGIS中根据DEM和地形起伏度进行地貌分类划分

大家好我是GIS蒲公英,数字高程模型(digital elevation model, DEM)经常都被用到专题地图的底图中,下面来我们来交流一下仅选择海拔和地形起伏度两个指标,用DEM来进行地貌类型的自动判别划分

GIS蒲公英的博客 3万+

Unity手游优化实战:用GPU Instancing把草地渲染的DrawCall从8000降到20(附完整Shader)

本文详细介绍了Unity手游中利用GPU Instancing技术优化草地渲染的实战方法,将DrawCall从8000降至20。通过Shader改造和性能优化技巧,开发者可以在移动端实现高效渲染,显著提升游戏性能。文章包含完整的Shader代码和优化策略,适合Unity开发者学习应用。

weixin_33691817的博客 488

TextView添加Html标签属性

最近在做搜索功能,搜索关键字显示高亮,通过后台返回的html标签,textview给出解析即可,下面是高亮效果图 下面记录下一些TextView可以使用的Html标签 标签 说明 <br> 插入一个换行符。 <br> 标签是空标签(意味着它没有结束标签,因此这是错误的:<br></br>) <p> 定义段落。 <p> 标签会自动在其前后各添加一个空行

lou_liang的博客 693

利用python爬取东方财富网股吧评论并进行情感分析(一)

利用python爬取东方财富网股吧评论(一) python-东方财富网贴吧文本数据爬取 分享一下写论文时爬数据用到的代码,有什么问题或者改善的建议的话小伙伴们一起评论区讨论。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,将会带来全新的写作体验; 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示; 增加了 图片拖拽 功能,你可以将本地的图片直

YMG521000的博客 1万+

Android N(API level 24.)废弃了Html.fromHtml(String)

从API level 24开始,fromHtml(String)被废弃,使用fromHtml(String source, int flags) 代替 flags: FROM_HTML_MODE_COMPACT:html块元素之间使用一个换行符分隔 FROM_HTML_MODE_LEGACY:html块元素之间使用两个换行符分隔 使用新的方式需要做版本兼容检查。对Android M和之前旧的版...

weixin_33834679的博客 946

无人车路径规划方法汇总

无人车路径规划方法汇总

weixin_44380244的博客 2557

手把手教你学simulink(57.3)--电励磁同步电动机场景示例:基于Simulink的自适应控制(Adaptive Control)电励磁同步电动机

目录基于Simulink的自适应控制(Adaptive Control)电励磁同步电动机项目实例1. 项目背景2. 系统架构2.1 电励磁同步电动机模型2.2 三相逆变器模型2.3 自适应控制器(Adaptive Controller)2.4 系统框图3. 模型设计3.1 创建Simulink模型3.2 自适应控制(Adaptive Control)设计3.3 仿真环境搭建4. 参数优化4.1 自动调优5. 实际应用案例5.1 工业驱动系统5.2 风力发电系统6. 结论需求分析电励磁同步电动机(Electr

MHD0815的博客 503

TextView文本使用HTML

1、使用android.text.HTML的fromHtml可以实现TextView文本使用HTML, 先来看一段简单的代码: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activit...

xdy1120的博客 555

GStreamer中h264parse元素

h264parse是 GStreamer 中处理 H.264 视频流的关键元素,主要负责解析和准备 H.264 流以便后续处理。

深之JohnChen的专栏 1020

textview加载html文字,Android textview 加载html格式的内容

今天作的项目要求后台录入html格式的图文并茂的信息,移动端对应要显示html格式的信息。因为须要作wrap_content的展现,放弃使用webview,采用TextView显示。最终效果感受好于webview。风格比较统一。惟一不太好的是图片的位置好像是靠左,webview是居中。但只要内容不算很复杂,用textview仍是能够的。html一开始我发现就算是copy paste前人的代码,显示...

weixin_29682503的博客 1753

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

使用textview显示html,使用 TextView 显示html页面

前言这是我写的第一篇博客,第一次写真不知道些什么。而我刚接触Android不久,也写不出什么很好的东西,不过我想了很久,还是决定写写博客,再不济我也可以把平时学的小东西写出来当做个笔记,以后自己看看也好。使用SDK中已有的ImageGetter来显示html中的图片//mTv是你显示html所使用的TextViewmTv.setText(Html.fromHtml("要显示的html", imag...

weixin_32421297的博客 1388

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

android textview 支持html标签,Android TextView 支持的HTML标签

强调标签 em 是emphasis的缩写定义斜体文字 段落标签,里面可以加入文字,列表,表格等定义小字体的文字定义删除线样式的文字 不符合标准网页设计的理念,不赞成使用. strike是strikethrough的缩写重点强调标签下标标签 sub 是subscript的缩写上标标签 sup 是superscript的缩写定义monospaced字体的文字 不赞成使用. 此标签对中文没意义 tt是t...

weixin_39607798的博客 600

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Android TextView Html 支持全部标签

Android TextView 支持 HTML 标签 在 Android 开发中,我们经常需要在 TextView 中展示富文本,比如加粗、斜体、下划线等。幸运的是,Android 的 TextView 支持通过 HTML 标签来实现这些效果。本文将详细介绍如何在 Android 中使用 TextView 来显示 HTM...

weixin_35554226的博客 615

textview加载html glide,TextView加载HTML,文字和图片

原文出处链接:《TextView加载HTML,文字和图片》工具类:public class ImageGetterUtils {public static MyImageGetter getImageGetter(Context context, TextView textView) {MyImageGetter myImageGetter = new MyImageGetter(context,...

weixin_42516657的博客 289

android textview html 背景,Android TextView显示html图片

html = "this is h1"+ "This text is normal"+ "";charSequence = Html.fromHtml(html, imgGetter, null);infoContent.setText(charSequence);ImageGetter imgGetter = new Html.ImageGetter() {public Drawable get...

weixin_28951683的博客 185

TextView显示html图片的方法

TextView是不只可以String的,我们平常用的给setText()方法传递String参数的时候,其实是调用的public final void setText (CharSequence text)方法,String类是CharSequence的子类。 而CharSequence子类众多,其中有一个接口Spanned,即类似html的带标记的文本。我们可以用它来在TextView中

面朝大海,春暖花开 730

Android TextView如何显示Html

如果需要让TextView显示富文本,通常有两种方式,第一种是SpannableStringBuilder,第二种是加载Html.第一种方式可能会有一些重.因此可以采用加载Html方式. 加载Html的方法如下: 1.定义Html 定义在strings.xml中,例如<String name="my_string"><b><font color="#00000...

UniqueDavid的博客 2万+

Android的TextView与Html相结合的用法

Android中的TextView,本身就支持部分的Html格式标签。这其中包括常用的字体大小颜色设置,文本链接等。使用起来也比较方便,只需要使用Html类转换一下即可。比如: textView.setText(Html.fromHtml(str)); 一、实现TextView里的文字有不同颜色 import android.text.Html; TextView t3

沈阳斌子 7546

Android TextView 支持的HTML标签

  Textview并不支持所有的html标签。如果更复杂的,可以直接使用webview组件。     Android TextView 支持的HTML标签 There is a lovely method on the android.text.Html  class, fromHtml() , that converts HTML into a Spannable  for us...

靓靓软件工作室 256

android textview 使用html样式

在textview中使用html样式显示,有些注意点,style没有作用,比如设置颜色和对齐方式在html这种样式是可以的,但在textview的时候显示不可以的。 在string里面的 ”这个符号一般要用  转义字符\” 这样用。 Html.fromHtml(String) 这个方法返回的是 Spanned 要用html样式的时候 千万别把这个spanned转成string,还要注

pei2696的专栏 2177
上一篇: Android中强大的SpannableStringBuilder
下一篇: 说一说EditText(四)
zdj_develop
博客等级 码龄11年 56粉丝 109原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值