文档章节

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

Gemini-Lin
 Gemini-Lin
发布于 2015/10/19 18:15
字数 274
阅读 135
收藏 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
博文 33
码字总数 23836
作品 0
厦门
程序员
私信 提问
Android的TextView使用Html来处理图片显示、字体样式、超链接等

一、[Android实例]实现TextView里的文字有不同颜色 转eoe:http://www.eoeandroid.com/thread-4496-1-1.html 二、TextView显示html文件中的图片 转javaeye:http://da-en.javaeye.com/blog/7......

鉴客
2011/10/28
15.3K
3
TextView的日常使用技巧

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

zhiweiofli
2013/07/05
0
0
替换整个APP字体--修改全局字体样式

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

王先森oO
2018/09/14
0
0
android Linkify

Linkify是一个辅助类,通过RegEx样式匹配,自动地在TextView类(和继承的类)中创建超链接。 符合特定的RegEx样式的文本会被转变成可点击的超链接,这些超链接隐式地调用startActivity(new I...

天高空
2012/01/30
1K
2
Android项目实战(一): SpannableString与SpannableStringBuilder(转)

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

听着music睡
2014/11/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

分布式系统关注点—“无状态”详解

一、初识“状态” 我们首先举个例子。 开发 Z 哥对运维 Y 弟喊:“Y 弟,现在系统好卡,刚上了一波活动,赶紧帮我加几台机器上去顶一下。” Y 弟回复说:“没问题,分分钟搞定”。 然后就发现...

微笑向暖wx
刚刚
0
0
js获取客户端本地ip

使用js获取客户端本地ip,不需要额外引入别的文件 【注:若IE浏览器不进行安全设置,IE浏览器会默认拦截ActiveX控件的使用,将不会返回客户端的IP地址】 下边的代码使用于通用浏览器,但是IE浏...

青衫旧巷
3分钟前
0
0
第四篇:springboot 打成jar包运行

打包成jar包,需要增加maven依赖         <build>            <plugins>                <plugin>                    <groupId>org.spri...

嘴角轻扬30
14分钟前
1
0
scala学习(二)

scala使用 参数类型推断: eclipse集成scala插件: 一些有用的高阶函数: 闭包: 柯里化: indexOf: 集合操作: 不可变的集合: 不可变集合的hashCode,集合改变之后hashCode也会改变: 搞两...

柠檬果过
17分钟前
1
0
VSCode 中支持 .dwt 等文件高亮渲染代码提示方法

点击菜单 文件->首选项->设置 输入如下代码: "files.associations": { "*.dwt": "html"}

晚风0623
19分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部