文档章节

Android TextView 使用替换构建出不同样式的字符串

Gemini-Lin
 Gemini-Lin
发布于 2015/10/19 18:15
字数 274
阅读 133
收藏 2

大概说下情况,遇到有行拼凑出来的文字,有三种不同的大小颜色的样式。 我先使用ABC三个字符分别去按照顺序设置不同大小和颜色。然后 依次将需要样式的字符串替换到A,B,C。便可以拥有三段不同样式的字符串。

` /** * <构建样式不同的总计字符串> * @param num 共X件商品 * @param price 价格 * @param yf (含运费XXX) * @return * @throw * @return SpannableStringBuilder */ private SpannableStringBuilder buildSpanForCost(String num, String price, String yf) { String content = new String("ABC"); SpannableStringBuilder builder = new SpannableStringBuilder(content);

	builder.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.text_deep_gray)), 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
	builder.setSpan(new AbsoluteSizeSpan(CommUtil.dip2px(getActivity(), 14)), 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
	
	builder.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.text_deep_gray)), 1, 2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
	builder.setSpan(new AbsoluteSizeSpan(CommUtil.dip2px(getActivity(), 16)), 1, 2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
	
	builder.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.text_light_gay)), 2, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
	builder.setSpan(new AbsoluteSizeSpan(CommUtil.dip2px(getActivity(), 14)), 2, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

	//记录替换到的位置到哪了
	int tmp_len = 0;
	builder.replace(0, 1, num);
	tmp_len += num.length();
	builder.replace(tmp_len, tmp_len+1, price);
	tmp_len += price.length();
	builder.replace(tmp_len, tmp_len+1, yf);
	return builder;
}

buildSpanForCost("共2件商品", " ¥1300.00 ", "(含运费XXX)")`

输入图片说明

© 著作权归作者所有

共有 人打赏支持
Gemini-Lin
粉丝 20
博文 28
码字总数 22990
作品 0
厦门
程序员
私信 提问
TextView的日常使用技巧

Textview在日常开发工作中使用非常频繁,在这里简单总结一下其比较重要的用法。目标是设置textview的中一段文字的显示属性,例如指定文字要下划线显示(@XXX、#XXX#),文字替换成图片,文字...

zhiweiofli
2013/07/05
0
0
android 从assets和res中读取文件

相关文件夹介绍 在Android项目文件夹里面,主要的资源文件是放在res文件夹里面的。assets文件夹是存放不进行编译加工的原生文件,即该文件夹里面的文件不会像xml,java文件被预编译,可以存放...

abd
2011/06/08
0
1
Android项目实战(一): SpannableString与SpannableStringBuilder(转)

前言: 曾经在一些APP中的一些类似“帮助”“关于”的界面看过一行文字显示不同的颜色的效果,如下效果: 本软件是一款高、大、上的社区类软件。 一般来说,这应该是由一个TextView来显示的,...

听着music睡
2014/11/13
0
0
替换整个APP字体--修改全局字体样式

原文地址 首先将项目需要的字体资源放置在app下: 注意,字体ttf文件只能用英文字母,中文会报找不到文件异常。 未设置之前的布局样式: 字体文件准备好后,我们就可以按需设置自己想要的字体...

王先森oO
09/14
0
0
android学习笔记之Fragment(三)

写的只是个人的理解,希望有错大神们能指出来。 通过Fragments来构建你的动态Activity布局: 预先构建出模型,like this: <?xml version=”1.0” encoding=”utf-8”?> <LinearLayout xmlns:...

Chanimalx
2013/01/02
0
2

没有更多内容

加载失败,请刷新页面

加载更多

get和post详解

get和post是表单提交的两种方式,get请求数据通过域名后缀URL传送,用户可见,不安全,post请求数据通过在请求报文正文里传输,相对比较安全。get是通过URL传递表单值,post通过URL看不到表单...

青衣霓裳
23分钟前
0
0
linux-如何快速替换IP

在Linux在做高可用的时候,经常会使用到虚拟IP。在windows上一个网卡可以配置两个IP,在Linux直接使用ip命令就可以添加了。 添加 ip address add 192.168.1.200/24 broadcast 192.168.1.255 ...

Linux就该这么学
28分钟前
0
0
Unix-Linux 编程实践教程 第五章 小结

设备文件中用逗号连接起来的两个数字为主设备号和从设备号。主设备号确定实际的设备驱动程序,从设备号作为参数。 如下图中的,主设备号-4,从设备号-2 设备文件中的i-node存储的是指向内核子...

Explorer0
30分钟前
1
0
virtual box centos7 挂载进行文件和共享使用说明

一、virtualbox共享文件夹无访问权限问题解决方法 (转载 http://www.cnblogs.com/zhuguanhao/p/6192777.html) 这篇文章主要介绍了virtualbox共享文件夹无访问权限问题解决方法,造成这个问题...

mbzhong
32分钟前
1
0
Rabbitmq---消息队列

一 . MQ:message queue   消息队列的作用:   1 通信解耦   2 高峰限流 原理分析: 一开始,认证系统是强耦合的,A系统传递认证系统消息接收计算结果的过程中   1 传给认证系统   2 认...

Ala6
37分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部