Android Spannable为同一TextView设直不同样式
/**
* UNICODE
* <p>
* 偶尔吃(1~2次/周) ( 中文破弧
* 经常吃(3~5次/周) ( 英文破弧
*
* @param name
* @return
*/
private Spannable formatName(String name) {
if (name.contains(STRING_TYPE_CN)) {
return changeStringStyle(STRING_TYPE_CN, name, "\\(");
} else if (name.contains(STRING_TYPE_EN)) {
return changeStringStyle(STRING_TYPE_EN, name, "\\(");
} else {
return new SpannableString(name);
}
} private Spannable changeStringStyle(String type, String name, String splitRegex) {
StringBuilder skr = new StringBuilder();
String[] split = name.split(splitRegex);
if (split.length == 2) {
//改变字体大小、颜色、加换行
split[1] = type + split[1];
skr.append(split[0]).append("\r\n").append(split[1]);
Spannable span = new SpannableString(skr.toString());
//设置字体大小(绝对值,单位:像素)
span.setSpan(new AbsoluteSizeSpan(this.mHintTextSize), split[0].length(), skr.length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
//设置字体颜色
span.setSpan(new ForegroundColorSpan(this.mHintTextColor), split[0].length(), skr.length(), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
return span;
}
return new SpannableString(name);
}
参考:http://hunankeda110.iteye.com/blog/1420470
Android Spannable为同一TextView设直不同样式的更多相关文章
- android中自定义view---实现竖直方向的文字功能,文字方向朝上,同时提供接口,判断当前touch的是哪个字符,并改变颜色
android自定义view,实现竖直方向的文字功能,文字方向朝上,同时提供接口,判断当前touch的是哪个字符,并改变颜色. 由于时间比较仓促,因此没有对代码进行过多的优化,功能远远不如androi ...
- Android在一个TextView里显示不同样式的字体
在同一个TextView里显示不同样式的字体 public void setSpan(Object what, int start, int end, int flags); 样式1:背景色.粗体.字 ...
- 【Android 应用开发】Android UI 设计之 TextView EditText 组件属性方法最详细解析
. 作者 :万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/18964835 . TextView 相关类的继承结构 ...
- Android UI 设计之 TextView EditText 组件属性方法最详细解析
. 作者 :万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/18964835 . TextView 相关类的继承结构 ...
- Android基础控件TextView
1.常用属性 <TextView android:id="@+id/text11" //组件id android:layout_width="match_paren ...
- Android之垂直显示TextView
Android之垂直显示TextView 1因为界面需求原因,需要TextView垂直显示,话不多说,看代码,我也是搜的例子,在此感谢写这个例子的大神,在此做个笔记和分享给大家 2.用到了自定义控件的 ...
- Android常见控件— — —TextView
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android=&qu ...
- Android 基础控件 TextView
一TextView介绍: TextView是UI最基本的组件,使用TextView可以显示丰富的文本信息.设置添加TextView最常见的方法就是在xml中添加TextView元素,并指定属性.Tex ...
- Android Spannable
ApiDemo 源码至 com.example.android.apis.text.Link 类. 首先,看一下其运行效果: 要给 TextView 加上效果,方式主要有几种: 第一种,自动应用效果, ...
随机推荐
- RESTful API浅谈
一.REST的由来 全称:REST,全称是Resource Representational State Transfer,即:资源在网络中以某种形式进行状态转移.————所谓状态的转移,可参考< ...
- [转]Java调用Javascript、Python算法总结
最近项目中经常需要将Javascript或者Python中的算法发布为服务,而发布Tomcat服务则需要在Java中调用这些算法,因此就不免要进行跨语言调用,即在Java程序中调用这些算法. 不管是调 ...
- wakatime记录 coding时间的工具
想记录下自己每天coding 的时间以及每个在各个项目上coding的时间,之前一直也没有什么好的办法,无意之间发现wakatime这个插件可以记录自己每天有效的coding时间. wakatime ...
- Where 与 Having
WHERE在数据分组前进行过滤,HAVING在数据分组后过滤. HAVING可以对检索(或计算)出的结果过滤,WHERE则不行. WHERE.聚合函数.HAVING在from后面的执行顺序:WHERE ...
- CentOS7中KVM虚拟机内存、CPU调整
CentOS7中KVM虚拟机内存.CPU调整 1. 调小虚拟机内存 调小虚拟机内存可以动态实现,不用关机 1.1 查看当前内存大小 [root@kvm01 ~]# virsh dominfo vm1- ...
- JVM-垃圾收集算法
新生代:复制算法,IBM研究过,约98%对象是“朝生夕死”,所以不需要按照1:1来划分:HotSpot中默认是8:1:1,即每次新生代可用空间为90%,只有10%会被“浪费”, 当Survivor空间 ...
- ASP.NET页面跳转的三大方法详解
ASP.NET页面跳转有什么方法呢?,现在给大家介绍三种方法,他们的区别是什么呢?让我们开始吧: ASP.NET页面跳转1.response.redirect 这个跳转页面的方法跳转的速度不快,因为它 ...
- python3学习笔记10(迭代器和生成器)
参考http://www.runoob.com/python3/python3-iterator-generator.html 迭代器 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束 ...
- Python 之 type方法创建类
type()方法作为元类,用来创建类: type(类名, 父类的元组(针对继承的情况,可以为空),包含属性的字典(名称和值)) 以下代码可以用type()方法来创建: class Myclass(ob ...
- 知识点:Mysql 索引原理完全手册(2)
知识点:Mysql 索引原理完全手册(1) 知识点:Mysql 索引原理完全手册(2) 知识点:Mysql 索引优化实战(3) 知识点:Mysql 数据库索引优化实战(4) 八. 联合索引与覆盖索引 ...