android 字符串 部分变色。。

arg0:<string name="red_number">数量 %1$s</string>
</pre><pre name="code" class="java" style="background-color: rgb(255, 255, 255); ">arg1: "123456"

<span style="background-color: rgb(255, 255, 255); ">显示效果:数量</span><span style="background-color: rgb(255, 102, 102);">123456</span>


</pre><pre name="code" class="java">
/**
	 *
	 * @param context
	 * @param arg0 字符串
	 * @param arg1 数字
	 * @return
	 */
	public SpannableStringBuilder setRed(Context context, int arg0, String arg1) {
		String text = String.format(context.getResources().getString(arg0),
				arg1);
		int index[] = new int[1];
		index[0] = text.indexOf(arg1);
//		index[1] = text.indexOf("18");
//		index[2] = text.indexOf("银宝箱");

		SpannableStringBuilder style = new SpannableStringBuilder(text);
		style.setSpan(new ForegroundColorSpan(Color.RED), index[0],
				index[0] + arg1.length(), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
//		style.setSpan(new ForegroundColorSpan(Color.RED), index[1],
//				index[1] + 2, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
//		style.setSpan(new BackgroundColorSpan(Color.RED), index[2],
//				index[2] + 3, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
		return style;

	}

就这样。。。

时间: 2024-08-03 19:21:18

android 字符串 部分变色。。的相关文章

Android字符串及字符串资源的格式化

为什么要写这一篇随笔呢?最近做项目的过程中,遇到很多页面在要显示文本时,有一部分是固定的文本,有一部分是动态获取的,并且格式各式各样.一开始采取比较笨的办法,把他拆分成一个个文本控件,然后对不同的控件采用不同的样式.这样做效率 很低,并且文本之间的对齐是个很大的问题,后来到网上寻求帮助,找到一些有关Android字符串和字符串资源格式化的文章,在此做一个总结. 一,字符串格式化 Java的String类给我们提供了两个重载的格式化字符串的方法,可以通过占位符的方式,向固定字符串中传入参数.他们分

Android字符串中使用占位符

一是可以通过Java的 String.format(String format, Object... args) 方法来实现 二则是通过Android自带的 getResources().getString(int id, Object... formatArgs) 实现 占位符的语法可以参考Java文档 简单演示下第二种方法 strings.xml 1 <string name="boolean_conversion">Boolean: %1$b\n</string

Android字符串格式化开源库phrase介绍

在上一篇博客Android通过String.format格式化(动态改变)字符串资源的显示内容中介绍了通过String.format来格式化string.xml文件中的字符串,本文介绍一个可以实现同样功能的开源库phrase,相比于String.format,通过phrase格式化字符串代码更具可读性. 一.phrase项目介绍: 1.源码:phrase项目的源代码很简单,里面总共只有一个类:Phrase.java,代码如下: /* * Copyright (C) 2013 Square, In

Android中高亮变色显示文本中的关键字

应该是好久没有写有关技术类的文章了,前天还有人在群里问我,说群主很长时间没有分享干货了,今天分享一篇Android中TextView在大段的文字内容中如何让关键字高亮变色的文章 ,希望对大家有所帮助,我终于在歪路上回归正途了.这个篇文章在平时应该还算比较常用吧,如果你会了,就不用看了,如果还不会,可以看一眼,非常简单. 今天分享的文章大概内容是在TextView中如何使大段的文字内容中关键字变色高亮显示的,分为一个关键字高亮变色显示和多个关键字一起高亮变色显示.我已经封装成了KeywordUti

Android字符串在strings.xml文件的定义和使用

路径:res/values/strings.xml 定义示例: 1 <resources> 2 <string name="app_name">SzLib</string> 3 <string name="address">广东省深圳市福田区福中一路2001号</string> 4 <string name="website">https://www.szlib.org.cn

android 字符串

Android - CharSequence和String的比较和转换 CharSequence和String的比较和转换 CharSequence转换String:str = cs.toString(); String转换CharSequence:cs = str; CharSequence和String类型的比较:cs.toString().equal(str);

android——字符串string(转)

原文地址:http://www.open-open.com/lib/view/open1387942832078.html String : 字符串类型 一.构造函数     String(byte[ ] bytes):通过byte数组构造字符串对象.     String(char[ ] value):通过char数组构造字符串对象.     String(Sting original):构造一个original的副本.即:拷贝一个original.     String(StringBuff

android 字符串string

String : 字符串类型 http://www.open-open.com/lib/view/open1387942832078.html 一.构造函数     String(byte[ ] bytes):通过byte数组构造字符串对象.     String(char[ ] value):通过char数组构造字符串对象.     String(Sting original):构造一个original的副本.即:拷贝一个original.     String(StringBuffer bu

Android仿新浪微博加#话题的EditText实现

需求 产品上线了,项目差不多算是稳定下来了,接下来就是一个个的版本迭代了.这周又增加了几个新功能,其中一个就是题目中讲的,要仿新浪微博(如下图)的输入框里的文字效果.作为整体的字体两边是井号,并且包括井号要变色,删除的时候,当光标到右侧的井号,再次点击删除的时候,会将井号包裹的内容作为一个整体删除掉,同时焦点不能在变色的字符之间,也就是说当点击变色的字符时,光标会自动地落在井号两侧. 拆分问题 看上去是一个挺简单合理的需求,随便一想,这不就是字符串匹配嘛!可是实际行动起来,就会发现各种坑爹问题,