安卓Html标签,创意工具类
之前开发项目中,遇到了在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标签,创意工具类的更多相关文章
- Android 包信息工具类
		
/** AndroidInfoUtils:安卓游戏包信息工具类**/ 1 public class AndroidInfoUtils { @SuppressWarnings("uncheck ...
 - 第13天 JSTL标签、MVC设计模式、BeanUtils工具类
		
第13天 JSTL标签.MVC设计模式.BeanUtils工具类 目录 1. JSTL的核心标签库使用必须会使用 1 1.1. c:if标签 1 1.2. c:choos ...
 - .Net Excel 导出图表Demo(柱状图,多标签页)  .net工具类 分享一个简单的随机分红包的实现方式
		
.Net Excel 导出图表Demo(柱状图,多标签页) 1 使用插件名称Epplus,多个Sheet页数据应用,Demo为柱状图(Epplus支持多种图表) 2 Epplus 的安装和引用 新建一 ...
 - JavaWeb基础Day17  (JSP  EL表达式  jstl标签库   beanutil工具类)
		
JSP jsp的实质就是指在html界面中嵌入Java代码 jsp脚本 <% Java代码 %> 相当于写在service方法中. <%=java 变量或者表达式 %> ...
 - JSTL标签工具类
		
一.介绍:  1.Jsp Standrad Tag Lib: JSP中标准的标签工具类  2.由 sun公司 提供  3.组成:(1)核心标签:Java在jsp上基本功能进行封装 if whil ...
 - 安卓---Toast工具类,有点懒
		
package com.liunan.myfirstapp.util; import android.content.Context; import android.widget.Toast; /** ...
 - Java过滤HTML标签工具类
		
过滤HTML标签能有效的放置XSS攻击. 封装: import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springf ...
 - 拍照、本地图片工具类(兼容至Android7.0)
		
拍照.本地图片工具类:解决了4.4以上剪裁会提示"找不到文件"和6.0动态授予权限,及7.0报FileUriExposedException异常问题. package com.hb ...
 - FTP工具类开发
		
正所谓工欲善其事必先利其器,熟悉了下一套流程,以此铭记. 1.FTP服务搭建 由于本人使用wondiow系统,所以针对window的童鞋们可以查看.至于windowX这里配置类似,所以不要纠结于win ...
 
随机推荐
- win10 uwp 九幽图床
			
本文主要是图片加水印自动上传,代码已经上传github. 图片加水印,我的方法,简单,一个好的方法是毒逆天大神的图片加水印方法或http://daily.zhihu.com/story/8812028 ...
 - KindEditor文件上传成功前端显示上传失败
			
一.使用kindeditor 上传图片 ,根据kindeditor 要求返回了相应的数据, 但是kindeditor 插件显示上传失败!!! 解决方法: 各个版本位置可能不同!!! 1.修改kinde ...
 - 关于QQ空间相册功能的构想与简单实现
			
QQ空间上传照片对其可以分类,形成不同的相册,这对于用户体验来说是很不错的,如果用户只能上传不加以分类,那么用户体验会很差. 下面是自己关于相册功能实现的一些简单看法: 首先,是创建相册,可以用pan ...
 - js正则验证特殊字符
			
js正则验证特殊字符 方案一 var regEn = /[`~!@#$%^&*()_+<>?:"{},.\/;'[\]]/im, regCn = /[·!#¥(--):: ...
 - css3+div画大风车
			
今天已经礼拜三了,周天小颖家的佩佩就要结婚啦,小颖要去当伴娘了,哈哈哈哈哈哈,想想都觉得乐开了花,不过之前她给我说让我当她伴娘时,我说我要减肥,不然她那么瘦弱,我站旁边就感觉像一个圆滚滚的小皮球,小颖 ...
 - 机器学习之三:logistic回归(最优化)
			
一般来说,回归不用在分类问题上,因为回归是连续型模型,而且受噪声影响比较大.如果非要应用进入,可以使用logistic回归. logistic回归本质上是线性回归,只是在特征到结果的映射中加入了一层函 ...
 - Jungle Roads(最小生成树)
			
Jungle Roads Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...
 - jumpserver安装详解
			
环境说明 主机为最小 安装的centos6.9 x86_64. [root@m01 ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [ro ...
 - OOA、OOD、OOP分别是什么?
			
什么是面向对象分析(OOA)? "面向对象分析是一种分析方法,这种方法利用从问题域的词汇表中找到的类和对象来分析需求." 什么是面向对象设计(OOD)? "面向对象设计是 ...
 - undefined 与null的区别与差异
			
typeof null ---> object 运行结果: