您的位置:首页 > 其它

关键字高亮显示

2015-07-17 15:44 357 查看
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;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息