文档章节

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

Gemini-Lin
 Gemini-Lin
发布于 2015/10/19 18:15
字数 274
阅读 130
收藏 2
点赞 0
评论 0

大概说下情况,遇到有行拼凑出来的文字,有三种不同的大小颜色的样式。 我先使用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
粉丝 19
博文 26
码字总数 22595
作品 0
厦门
程序员
TextView的日常使用技巧

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

zhiweiofli
2013/07/05
0
0
android学习笔记之Fragment(三)

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

Chanimalx
2013/01/02
0
2
Android项目实战(一): SpannableString与SpannableStringBuilder(转)

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

听着music睡
2014/11/13
0
0
android 从assets和res中读取文件

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

abd
2011/06/08
0
1
SpannableString与SpannableStringBuilder

一、概述 1、SpannableString、SpannableStringBuilder与String的关系 首先SpannableString、SpannableStringBuilder基本上与String差不多,也是用来存储字符串,但它们俩的特殊就在于有一个...

菜南瓜
2015/05/18
0
0
50 Android Hack 读书笔记

1、可以指定android:weightSum属性2、使用include标签来应对变化3、使用ViewStub标签延迟加载有可能不需要加载的数据 标签中可以指定inflateId属性4、使用自定义ViewGroup,重写onMeasure、o...

千里山南
2015/02/15
0
2
simple_dropdown_item_1line

今天在Android Developers查看AutoCompleteTextView 时发现示例代码 public class CountriesActivity extends Activity { protected void onCreate(Bundle icicle) { super.onCreate(icicle......

Rocket_Cheng
2013/03/23
0
0
android 的listactivity

本文转自:http://android.tgbus.com/ 今天学习点轻松的内容吧,看看android.app包里的几个类。首先是这个在平台自的例子中被广泛使用的ListActivity。这个类其实就是一个含有一个ListView组...

xiahuawuyu
2012/05/23
0
0
Android 开发之 Notification 详解

通知(Notification)的各种展现形式 通知展现位置 以图标的形式显示在通知区域中 详细信息展示在抽屉式通知栏中 以浮动形式通知 在锁屏上展示通知 通知展现样式 标准样式 扩展样式 自定义样...

单刀土豆
07/09
0
0
Android开发指南-框架主题-资源和资产

Android开发指南-框架主题-资源和资产 资源和资产Resources and Assets 资源是Android应用程序不可或缺的部分。一般而言,资源是你想包含和引入到应用程序里面的一些外部元素,比如图片、音频...

JavaGG
2010/03/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

pbgo: 基于Protobuf的迷你RPC/REST框架

https://www.oschina.net/p/pbgo

chai2010
38分钟前
0
0
rsync工具介绍、常用选项以及通过ssh同步

linux下的文件同步工具 rsync rsync是非常实用的一个同步工具,可以从a机器到b机器传输一个文件,也可以备份数据,系统默认没有这个工具,要使用命令 yum install -y rsync 安装。 rsync的命...

黄昏残影
53分钟前
0
0
OSChina 周四乱弹 —— 表妹要嫁人 舅妈叮嘱……

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @哈哈哈哈哈嗝:一定要听——The Pancakes的单曲《咁咁咁》 《咁咁咁》- The Pancakes 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :...

小小编辑
今天
311
4
流利阅读笔记30-20180719待学习

重磅:让人类得老年痴呆的竟是它? Lala 2018-07-19 1.今日导读 去年奥斯卡最佳动画长片《寻梦环游记》里有一句经典台词:“比死亡更可怕的,是遗忘”。在电影中,年迈的曾祖母会重复说一样的...

aibinxiao
今天
3
0
1.16 Linux机器相互登录

Linux机器之间以密码方式互相登录 运行命令#ssh [ip address],标准命令:#ssh [username]@ip, 如果没有写用户名,则默认为系统当前登录的用户 命令#w查看系统负载,可查看到连接到该主机的...

小丑鱼00
今天
0
0
about git flow

  昨天元芳做了git分支管理规范的分享,为了拓展大家关于git分支的认知,这里我特意再分享这两个关于git flow的链接,大家可以看一下。 Git 工作流程 Git分支管理策略   git flow本质上是...

qwfys
今天
2
0
Linux系统日志文件

/var/log/messages linux系统总日志 /etc/logrotate.conf 日志切割配置文件 参考https://my.oschina.net/u/2000675/blog/908189 dmesg命令 dmesg’命令显示linux内核的环形缓冲区信息,我们可...

chencheng-linux
今天
1
0
MacOS下给树莓派安装Raspbian系统

下载镜像 前往 树莓派官网 下载镜像。 点击 最新版Raspbian 下载最新版镜像。 下载后请,通过 访达 双击解压,或通过 unzip 命令解压。 检查下载的文件 ls -lh -rw-r--r-- 1 dingdayu s...

dingdayu
今天
3
0
spring boot使用通用mapper(tk.mapper) ,id自增和回显等问题

最近项目使用到tk.mapper设置id自增,数据库是mysql。在使用通用mapper主键生成过程中有一些问题,在总结一下。 1、UUID生成方式-字符串主键 在主键上增加注解 @Id @GeneratedValue...

北岩
今天
2
0
告警系统邮件引擎、运行告警系统

告警系统邮件引擎 cd mail vim mail.py #!/usr/bin/env python#-*- coding: UTF-8 -*-import os,sysreload(sys)sys.setdefaultencoding('utf8')import getoptimport smtplibfr......

Zhouliang6
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部