之前开发项目中,遇到了在Textview中使用Html标签的情形,由于在代码中使用字符串,Android Studio上一堆的黄色警告,而且对于过时的Html.fromHtml,拿它一点办法也没有。

对于有代码强迫症的我来说,心里各种纠结,各种不爽,于是脑洞大开,设计了下面这个工具类,方便使用Html中的各个标签。

使用场景:

EasyHtml2 easyHtml = new EasyHtml2();
textView.setText(easyHtml
.appendBr2("标题:")
.appendBr("1.第一点;")
.appendBr("2.第二点;")
.build());

源码:

/**
* 脑洞大开的工具包
* Created by ChenSS on 2016/11/7.
*/
public class EasyHtml2 {
private StringBuilder sBuilder; public EasyHtml2() {
sBuilder = new StringBuilder(120);
} /**
* 添加一个普通的字符串
*
* @param source
*/
public EasyHtml2 append(String source) {
sBuilder.append(source);
return this;
} /**
* 段落标签
*/
public EasyHtml2 appendP(String source) {
sBuilder.append("<p>");
sBuilder.append(source);
sBuilder.append("</p>");
return this;
} /**
* 结尾追加两个换行
*/
public EasyHtml2 appendBr2(String source) {
sBuilder.append(source);
sBuilder.append("<br><br>");
return this;
} /**
* 结尾追加换行
*/
public EasyHtml2 appendBr(String source) {
sBuilder.append(source);
sBuilder.append("<br>");
return this;
} /**
* font标签,可以指定颜色
*
* @param color 格式为"#0000FF"
*/
public EasyHtml2 appendFont(String source, String color) {
sBuilder.append("<font color='").append(color).append("'>");
sBuilder.append(source);
sBuilder.append("</font>");
return this;
} /**
* 大字号
*/
public EasyHtml2 appendBig(String source, String color) {
sBuilder.append("<big>");
sBuilder.append(source);
sBuilder.append("</big>");
return this;
} /**
* 小字号
*/
public EasyHtml2 appendSmall(String source, String color) {
sBuilder.append("<small>");
sBuilder.append(source);
sBuilder.append("</small>");
return this;
} /**
* 超链接标签,要使链接生效,请设置android:autoLink
*/
public EasyHtml2 appendA(String source, String url) {
sBuilder.append("<a href='").append(url).append("'>");
sBuilder.append(source);
sBuilder.append("</a>");
return this;
} /**
* 带下划线标签
*/
public EasyHtml2 appendU(String source, String url) {
sBuilder.append("<u>");
sBuilder.append(source);
sBuilder.append("</u>");
return this;
} public Spanned build() {
//使用过时的fromHtml,最新的API版本要求过高
return Html.fromHtml(sBuilder.toString());
}
}

安卓Html标签,创意工具类的更多相关文章

  1. Android 包信息工具类

    /** AndroidInfoUtils:安卓游戏包信息工具类**/ 1 public class AndroidInfoUtils { @SuppressWarnings("uncheck ...

  2. 第13天 JSTL标签、MVC设计模式、BeanUtils工具类

    第13天 JSTL标签.MVC设计模式.BeanUtils工具类 目录 1.    JSTL的核心标签库使用必须会使用    1 1.1.    c:if标签    1 1.2.    c:choos ...

  3. .Net Excel 导出图表Demo(柱状图,多标签页) .net工具类 分享一个简单的随机分红包的实现方式

    .Net Excel 导出图表Demo(柱状图,多标签页) 1 使用插件名称Epplus,多个Sheet页数据应用,Demo为柱状图(Epplus支持多种图表) 2 Epplus 的安装和引用 新建一 ...

  4. JavaWeb基础Day17 (JSP EL表达式 jstl标签库 beanutil工具类)

    JSP jsp的实质就是指在html界面中嵌入Java代码 jsp脚本 <%  Java代码  %>  相当于写在service方法中. <%=java 变量或者表达式 %> ...

  5. JSTL标签工具类

    一.介绍: ​ 1.Jsp Standrad Tag Lib: JSP中标准的标签工具类 ​ 2.由 sun公司 提供 ​ 3.组成:(1)核心标签:Java在jsp上基本功能进行封装 if whil ...

  6. 安卓---Toast工具类,有点懒

    package com.liunan.myfirstapp.util; import android.content.Context; import android.widget.Toast; /** ...

  7. Java过滤HTML标签工具类

    过滤HTML标签能有效的放置XSS攻击. 封装: import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springf ...

  8. 拍照、本地图片工具类(兼容至Android7.0)

    拍照.本地图片工具类:解决了4.4以上剪裁会提示"找不到文件"和6.0动态授予权限,及7.0报FileUriExposedException异常问题. package com.hb ...

  9. FTP工具类开发

    正所谓工欲善其事必先利其器,熟悉了下一套流程,以此铭记. 1.FTP服务搭建 由于本人使用wondiow系统,所以针对window的童鞋们可以查看.至于windowX这里配置类似,所以不要纠结于win ...

随机推荐

  1. chromium 34以后中文字体粗体渲染问题

    估计不少人更新后都遇到这个情况了吧,粗体渲染如然变得很模糊,很奇怪,Google下说是字体实现方式变了,国内一些网站用的中文字体都是宋体,但是宋体本身没有粗体,Win下的粗体是微软自己通过某种方式实现 ...

  2. Centos7安装Python3的方法

    由于centos7原本就安装了Python2,而且这个Python2不能被删除,因为有很多系统命令,比如yum都要用到. [root@VM_105_217_centos Python-]# pytho ...

  3. Codeforces Round #439 (Div. 2) C DP(图论)

    C. The Intriguing Obsession time limit per test 1 second memory limit per test 256 megabytes input s ...

  4. linux root修改密码失败

    问题: 当使用root修改密码时,报错passwd:Authentication token manipulation error 解决: 1.查看是否权限问题, /etc/passwd /etc/s ...

  5. C++输入输出cin与cout

    输入对象 istream:cin(标准输入) 输出对象 ostream: cout(标准输出), cerr(标准错误),clog(输出程序运行时的一般性信息)

  6. LINUX环境下SVN安装与配置(利用钩子同步开发环境与测试环境)

    安装采用YUM一键安装: 1.环境Centos 6.6 2.安装svnyum -y install subversion 3.配置 建立版本库目录mkdir /www/svndata svnserve ...

  7. C# group 子句

    group 子句返回一个 IGrouping<TKey,TElement> 对象序列,这些对象包含零个或更多与该组的键值匹配的项. 例如,可以按照每个字符串中的第一个字母对字符串序列进行分 ...

  8. NOIP2017衢二中旅游记Day 1

    NOIP前一天下午早早的去了衢州: 车程大概在4个半小时左右: 车上大家都一脸颓废,并混杂着动听的音乐: 到了衢州二中,立刻跑去吃晚饭: 吃饭的队伍特别长,吃面的却空无一人: 我毅然决然地选择了去吃面 ...

  9. java继承系列之添加一个LinkLable类

    import java.awt.*; import javax.swing.*; import javax.swing.JFrame; import java.awt.event.WindowList ...

  10. 二:SQL映射文件

    二:SQL映射文件 1.SQL映射文件: (1)mapper:映射文件的根元素节点,只有一个属性namespace(命名空间) 作用:用于区分不同的mapper全局唯一 绑定dao接口即面向接口编程, ...