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 加上效果,方式主要有几种: 第一种,自动应用效果, ...
随机推荐
- 嵌入式C语言预处理使用
#include 包含头文件 #define 宏 #define 宏名 (宏体) //不进行语法检查 #define ABC(x) (5+(x)) //宏函数 #define #else ...
- VS快捷键大全(总结了一些记忆的口诀)(转载)
相信.Net开发人员都想能够熟记各种VS快捷键以提高平时开发的效率,但苦于记忆能力太差而快捷键又特别多,特别烦,所以作罢! 下面我将简单介绍一下我记忆VS快捷键的一些方法,希望对大家有所帮助. 1.窗 ...
- tensorflow报cudnn错误
E tensorflow/stream_executor/cuda/cuda_dnn.cc:363] Loaded runtime CuDNN library: 7.0.5 but source wa ...
- Vue项目中GraphQL入门学习与应用
1.GraphQL是什么,能干什么? 正如官网所说,GraphQL是一种用于API查询的语言.Facebook 的移动应用从 2012 年就开始使用 GraphQL.GraphQL 规范于 2015 ...
- Windows 7 X64平台编译LLVM+clang
1 源码包 去LLVM官方网站下载最新的源码,Windows平台下载三个即可(2019.04.24版本为LLVM 8.0.0): LLVM source code (.sig) Clang sourc ...
- mysql binlog抽取某个表的数据
1.先把binlog文件转化为sql --base64-output=decode-rows -v > /var/mydiag.sql 2.抽取某一个表的数据 grep -B0 -A27 -w ...
- php正则讲解 及与 js的正则比较
正则:用于检索字符串的规则: js正则: var reg=/规则/ reg是一个对象,在浏览器下: 所以研究他的属性和方法 属性: global是修饰符,代表全局检索 g ignorecase 忽略大 ...
- 文件下载及header方法介绍
文件下载: 文件下载是浏览器一个功能,我们用php,把一个文件转化成浏览器无法解析的文件,浏览器就会认为,他是下载文件或无效文件. 主要依靠:header() 函数: header() 方法用于客户端 ...
- dll导出函数的两种方式的比较
最初的网页链接已经挂了, 在此贴一个中间的转载链接 https://blog.csdn.net/zhazhiqiang/article/details/51577523 一 概要 vs中导出 dll的 ...
- docker-compose hello word
Compose 是 Docker 容器进行编排的工具, 是一个整合发布docker应用的利器,可定义和运行多容器的应用,在 Compose 中你可以使用 YAML 文件来配置你的应用服务.然后,只需要 ...