之前开发项目中,遇到了在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. win10 UWP button

    button有很多和wpf一样,可以看<深入浅出WPF> 我们可以在button的click写上 <Button Content="确定" Click=" ...

  2. win10应用 UWP 使用MD5算法

    windows有自带的算法来计算MD5 原本在WPF是 private string get_MD5(string str) { System.Security.Cryptography.MD5Cry ...

  3. 阿里巴巴Java开发规约插件p3c详细教程及使用感受

    阿里巴巴Java开发手册 在进入正题介绍这款插件之前,首先来谈一下<阿里巴巴Java开发手册>,2017年年初,首次公开的阿里官方Java代码规范标准手册可以说是引起了全民(IT界)代码规 ...

  4. 聊聊Java的字节码

    本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 巴山楚水凄凉地,二十三年弃置身.怀旧空吟闻笛赋,到乡翻似烂柯人.沉舟侧畔千帆过,病树前头万木春 ...

  5. Model Representation and Cost Function

    Model Representation To establish notation for future use, we’ll use x(i) to denote the “input” vari ...

  6. 什么是Echarts?Echarts如何使用?

    什么是Echarts? Echarts--商业级数据图表    商业级数据图表,它是一个纯JavaScript的图标库,兼容绝大部分的浏览器,底层依赖轻量级的canvas类库ZRender,提供直观, ...

  7. Connections between cities

    Connections between cities Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java ...

  8. Codeforces 376B. Coupons and Discounts

    B. Coupons and Discounts time limit per test 1 second memory limit per test 256 megabytes input stan ...

  9. 安装MongoDB启动时报错‘发生系统错误2’的解决办法

    安装数据库mongodb启动时报"发生系统错误2". 这个问题是如果你之前已经装过一次,并且两次安装目录不同,就绝对会碰到的,因为你之前安装的路径已经在注册表中生成了,并没有随着你 ...

  10. 一起写框架-MVC框架-基础功能-Date类型数据绑定(七)

    实现功能 表单请求传递的数据,格式为以下格式的日期时间数据. (1):yyyy-MM-dd hh:mm:ss (2):yyyy-MM-dd 执行方法可以使用Date类型接收. 实现思路 1.获得表单字 ...