文档章节

Android中TextView的某一关键字高亮显示

aaddssa
 aaddssa
发布于 2015/06/11 15:09
字数 217
阅读 2845
收藏 2

刚好碰到一个要在ListView的Item中显示搜索的关键字高亮显示。已经解决,现在讲代码贴出来。

调用的时候传入2个参数即可,1.要显示的文本。2.需要高亮的关键字。

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import android.graphics.Color;
import android.text.Spannable;
import android.text.SpannableStringBuilder;
import android.text.style.CharacterStyle;
import android.text.style.ForegroundColorSpan;

public class TextUtilTools {

	/**
	 * 关键字高亮显示
	 * 
	 * @param target  需要高亮的关键字
	 * @param text	     需要显示的文字
	 * @return spannable 处理完后的结果,记得不要toString(),否则没有效果
	 */
	public static SpannableStringBuilder highlight(String text, String target) {
		SpannableStringBuilder spannable = new SpannableStringBuilder(text);
		CharacterStyle span = null;

		Pattern p = Pattern.compile(target);
		Matcher m = p.matcher(text);
		while (m.find()) {
			span = new ForegroundColorSpan(Color.RED);// 需要重复!
			spannable.setSpan(span, m.start(), m.end(),
					Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
		}
		return spannable;
	}
	
	// 调用
	// SpannableStringBuilder textString = TextUtilTools.highlight(item.getItemName(), KnowledgeActivity.searchKey);
	// vHolder.tv_itemName_search.setText(textString);
}



© 著作权归作者所有

aaddssa
粉丝 0
博文 5
码字总数 651
作品 0
武汉
程序员
私信 提问
加载中

评论(1)

高山流水2080
高山流水2080
ListView实现论坛管理效果(附源碼)

在 android 系统中,ListView的用法稍微复杂一点,配置Adpater就有几种方法,如ArrayAdapter,SimpleAdapter等。查了一些网上的相关例子,有很多都是用ListActivity ,然後用Adapter来显示布局...

长平狐
2012/08/14
140
0
ListView实现论坛管理效果(附源碼)

在 android 系统中,ListView的用法稍微复杂一点,配置Adpater就有几种方法,如ArrayAdapter,SimpleAdapter等。查了一些网上的相关例子,有很多都是用ListActivity ,然後用Adapter来显示布局...

长平狐
2012/08/09
2.5K
2
Android入门学习_Android创建新项目及开发

创建一个新项目是很简单的,只要你安装了Eclipse插件,并且你的Eclipse软件版本在3.2或3.3,你就可以开始开发了。 首先, 看一下要创建"Hello, World"程序从高级层面上有哪些步骤: 1, 通过 ...

cathleencheng
2011/06/03
0
2
ListView实现论坛管理效果(附源碼)

在 android 系统中,ListView的用法稍微复杂一点,配置Adpater就有几种方法,如ArrayAdapter,SimpleAdapter等。查了一些网上的相关例子,有很多都是用ListActivity ,然後用Adapter来显示布局...

长平狐
2012/08/21
148
1
TextView 组件本身可以显示URL,EMAIL等特殊信息,这些特殊信息都会以连接形式显示...

public class AndrodTActivity extends Activity implements OnClickListener { TextView tv_; TextView tv1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate......

带梦想一7飞
2013/04/11
0
1

没有更多内容

加载失败,请刷新页面

加载更多

在Linux系统中创建SSH服务器别名

如果你经常通过 SSH 访问许多不同的远程系统,这个技巧将为你节省一些时间。你可以通过 SSH 为频繁访问的系统创建 SSH 别名,这样你就不必记住所有不同的用户名、主机名、SSH 端口号和 IP 地...

老孟的Linux私房菜
昨天
1
0
高德API入门教程

项目需求 1、实现打开地图就能定位到中心显示标注点 2、点击标注显示保利可爱岛的详细信息 3、实现导航功能 <!doctype html><html><head> <meta charset="utf-8"> <meta http-......

我叫小糖主
昨天
7
0
聊聊Elasticsearch的MonitorService

序 本文主要研究一下Elasticsearch的MonitorService MonitorService elasticsearch-7.0.1/server/src/main/java/org/elasticsearch/monitor/MonitorService.java public class MonitorServic......

go4it
昨天
3
0
二、Docker

1、Docker - The TLDR(Too Long,Don't Read,Linxu 终端工具 ) Docker是在Linux和Windows上运行的软件。它创建、管理和编排容器。该软件以开源方式开发,在Github上作为Moby开源项目的一部分。...

倪伟伟
昨天
3
0
Python猫荐书系列之七:Python入门书籍有哪些?

本文原创并首发于公众号【Python猫】,未经授权,请勿转载。 原文地址:https://mp.weixin.qq.com/s/ArN-6mLPzPT8Zoq0Na_tsg 最近,猫哥的 Python 技术学习群里进来了几位比较特殊的同学:一...

豌豆花下猫
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部