安卓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 ...
随机推荐
- OpenWRT添加模块 Makefile和Config.in
添加模块编译 在网上找了一下,很多关于编译Openwrt系统的资料,不过这些事情芯片厂商提供的开发包都已经办得妥妥了,但是没有找到系统介绍的资料,添加一个包的介绍有不多,其中有两个很有参考价值: ht ...
- Windows下Mysql常用操作命令
以下命令中的服务启动及停止需要使用以管理员身份运行cmd.exe. 1.启动Mysql服务:net start [mysql服务名].示例: net start mysql57 结果: 2.停止Mys ...
- (原创)(三)机器学习笔记之Scikit Learn的线性回归模型初探
一.Scikit Learn中使用estimator三部曲 1. 构造estimator 2. 训练模型:fit 3. 利用模型进行预测:predict 二.模型评价 模型训练好后,度量模型拟合效果的 ...
- LeetCode 153. Find Minimum in Rotated Sorted Array (在旋转有序数组中找到最小值)
Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand. (i.e. ...
- LeetCode 112. Path Sum (二叉树路径之和)
Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all ...
- 解决执行sql脚本报错:没有足够的内存继续执行程序。
出现执行sql脚本报错:没有足够的内存继续执行程序.是因为sql脚本过大,大家可能分为多个文件多次执行,这种笨方法可行,不过比较麻烦,大家可以用下面的方式,利用sqlcmd一次就行了: 执行cmd ...
- js excel 列表导出
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- iOS 输入时键盘处理问题
最正规的办法,用通知 step 1:在进入视图的时候添加监视:(viewDidLoad什么的) //监听键盘的通知 [[NSNotificationCenter defaultCenter] addO ...
- HDU 6140 Hybrid Crystals
Hybrid Crystals Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)T ...
- Milking Time
Description Bessie is such a hard-working cow. In fact, she is so focused on maximizing her producti ...