安卓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 ...
随机推荐
- pm2部署多个nodejs项目配置教程
实际项目部署中,我们服务器在启动的时候需要自动启动node服务.以前是通过liunx自带的命令启动.但是随着后台微服务越来越多.每次发布新程序.修改脚本太麻烦了.于是换成PM2来做. 1.首先安装pm ...
- win10 UWP 蜘蛛网效果
我看见了知乎首页登录背景和普通的地球人写的博客,发现了个好看的效果. 那么我来告诉大家如何做这个效果. 第一步是在 Canvas 画点,第二步是让点移动,第三步是画线 在 Canvas 画一个点 我们 ...
- win10 uwp 切换主题
本文主要说如何在UWP切换主题,并且如何制作主题. 一般我们的应用都要有多种颜色,一种是正常的白天颜色,一种是晚上的黑夜颜色,还需要一种辅助的高对比颜色.这是微软建议的,一般应用都要包含的颜色. 我们 ...
- 文本可视化[二]——《今生今世》人物关系可视化python实现
文本可视化[二]--<今生今世>人物关系可视化python实现 在文本可视化[一]--<今生今世>词云生成与小说分析一文中,我使用了jieba分词和wordcloud实现了,文 ...
- 使用 paddle来进行文本生成
paddle 简单介绍 paddle 是百度在2016年9月份开源的深度学习框架. 就我最近体验的感受来说的它具有几大优点: 1. 本身内嵌了许多和实际业务非常贴近的模型比如个性化推荐,情感分析,词向 ...
- LeetCode 110. Balanced Binary Tree (平衡二叉树)
Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary ...
- SrpingDruid数据源加密数据库密码
前言 在工作中遇到这样一个问题:开发过程中将数据库的账号.密码等信息配置在了一个单独的properties配置文件中(使用明文).但运维人员要求在配置文件中的密码一律不得出现明文. 环境 Spring ...
- iOS之 git 简单使用
之前没有用过git管理代码, 现在 公司要求使用git,咱 就 记记 今天所学的东西.以后也好方便查阅 和补充. 首先 我描述一下我今天提交代码的情况. 同伴给了我一个 从git库下来的2个项目的包. ...
- 在windows下,将mysql离线数据文件导入本地mysql数据库
1. 查看mysql路径 SELECT @@basedir AS basePath FROM DUAL 其实mysql5.6 的数据文件在 C:\ProgramData\MySQL\MySQL Ser ...
- 27.Linux-DM9000C网卡移植(详解)
上一节 我们学习了: 网卡驱动介绍以及制作虚拟网卡驱动: http://www.cnblogs.com/lifexy/p/7763352.html 接下来本节,学习网卡芯片DM9000C,如何编写 ...