<span style="font-size:18px;">import android.graphics.Color;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.style.ForegroundColorSpan;
import android.widget.TextView;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MainActivity extends ActionBarActivity {
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView) findViewById(R.id.tv);
tv.setText(setKeyWordColor("aadfdkfdjf你大理石","你"));
}
/**
* 设置搜索关键字高亮
* @param content 原文本内容
* @param keyword 关键字
*/
private SpannableString setKeyWordColor(String content,String keyword){
SpannableString s = new SpannableString(content);
Pattern p = Pattern.compile(keyword);
Matcher m = p.matcher(s);
while (m.find()){
int start = m.start();
int end = m.end();
s.setSpan(new ForegroundColorSpan(Color.RED),start,end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
return s;
}
}
</span>android中搜索关键字高亮
最新推荐文章于 2024-04-14 12:08:07 发布
本文提供了一个在Android应用中实现文本关键字高亮显示的例子。通过使用正则表达式匹配和SpannableString设置颜色,可以将指定的关键字在TextView中突出显示为红色。

553

被折叠的 条评论
为什么被折叠?



