package com.example.changesearchkeycolordemo.Utils;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import android.graphics.Color;
import android.text.Html;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.style.ForegroundColorSpan;
/**
* Created by shirr on 2015/7/16.
*/
public class ChangeKeyWordColorUtils {
/*
* set关键字到对应textview的时候,如果前面添加字符,样式失效;
* 例如:返回样式是temp set值时 setTextview("结果是:", + temp);
*/
/**
* 关键字变色
*/
public static SpannableString StrResult(String keyword, String strtext){
SpannableString spanStr = new SpannableString(strtext);
Pattern p = Pattern.compile(keyword);
Matcher m = p.matcher(spanStr);
while (m.find()) {
int start = m.start();
int end = m.end();
spanStr.setSpan(new ForegroundColorSpan(Color.RED), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
return spanStr;
}
/*
* 使用html代码更改搜索关键字的样式
* <span>文字</span>搜索出来的关键字不加标志线
* <p></p>搜索出来的关键字有标志线
*/
public static Spanned PutStrHtml(String keyword, String strtext) {
int index = strtext.indexOf(keyword);
int len = keyword.length();
Spanned temp = Html.fromHtml(strtext.substring(0, index)
+ "<span><font color=#FF0000>" + strtext.substring(index, index + len) + "</font></span>"
+ strtext.substring(index + len, strtext.length()));
return temp;
}
}
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import android.graphics.Color;
import android.text.Html;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.style.ForegroundColorSpan;
/**
* Created by shirr on 2015/7/16.
*/
public class ChangeKeyWordColorUtils {
/*
* set关键字到对应textview的时候,如果前面添加字符,样式失效;
* 例如:返回样式是temp set值时 setTextview("结果是:", + temp);
*/
/**
* 关键字变色
*/
public static SpannableString StrResult(String keyword, String strtext){
SpannableString spanStr = new SpannableString(strtext);
Pattern p = Pattern.compile(keyword);
Matcher m = p.matcher(spanStr);
while (m.find()) {
int start = m.start();
int end = m.end();
spanStr.setSpan(new ForegroundColorSpan(Color.RED), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
return spanStr;
}
/*
* 使用html代码更改搜索关键字的样式
* <span>文字</span>搜索出来的关键字不加标志线
* <p></p>搜索出来的关键字有标志线
*/
public static Spanned PutStrHtml(String keyword, String strtext) {
int index = strtext.indexOf(keyword);
int len = keyword.length();
Spanned temp = Html.fromHtml(strtext.substring(0, index)
+ "<span><font color=#FF0000>" + strtext.substring(index, index + len) + "</font></span>"
+ strtext.substring(index + len, strtext.length()));
return temp;
}
}