之前开发项目中,遇到了在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. Latex 去掉行号

    本文主要讲如何去掉Latex的行号 删除\modulolinenumbers删除所有\linenumbers 删除\usepackage{lineno,hyperref} modulolinenumb ...

  2. MySql入门(1)

    MySql入门(1) 安装 检查系统中是否已经安装了MySQL sudo netstat -tap | grep mysql 若没有显示已安装结果,则没有安装.否则表示已经安装. sudo apt-g ...

  3. 牛顿插值法及其C++实现

    h1 { margin-bottom: 0.21cm } h1.western { font-family: "Liberation Sans", sans-serif; font ...

  4. Python练习----多级菜单

    多级菜单要求:      1.三级菜单          2.可依次选择进入各子菜单      3.可以返回上一层      4.输入'q'可以退出   脚本: zone = { '北京' : { ' ...

  5. 同步IO和异步IO

    链接: 同步IO和异步IO socket阻塞与非阻塞,同步与异步.I/O模型 Linux的IO系统常用系统调用及分析 linux异步IO的两种方式

  6. ASP动态网站建设之连接数据库相关操作

    连接数据库: string str = @"server=服务器名称;Integrated Security=SSPI;database=数据库名称;"; 注意封装公共类,将常用重 ...

  7. JS难点--面向对象(继承)

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Consolas; color: #a5b2b9 } 继承 让一个对象拥有另一个对象的属性或者 ...

  8. (原创)(三)机器学习笔记之Scikit Learn的线性回归模型初探

    一.Scikit Learn中使用estimator三部曲 1. 构造estimator 2. 训练模型:fit 3. 利用模型进行预测:predict 二.模型评价 模型训练好后,度量模型拟合效果的 ...

  9. LeetCode 604. Design Compressed String Iterator (设计压缩字符迭代器)$

    Design and implement a data structure for a compressed string iterator. It should support the follow ...

  10. 如何从零绘制k线图 -- 原生js canvas图表绘制

    样式如下图 源码地址: https://github.com/sutianbinde/charts 编写这个需要具备canvas基础,如果没有canvas基础可以学习我前面的cnavas基础博客. 具 ...