Android中设置关键字高亮的方法
16lz
2021-01-23
Android中设置关键字高亮:
/** * 关键字高亮 * @param str * @param keyWord * @param perfix * @return */ private SpannableStringBuilder highLight(String str, String keyWord, String perfix) { if (str != null && str.length() >= keyWord.length()) { int startPos = str.toLowerCase().indexOf(keyWord.toLowerCase()); if (startPos > -1) { if (perfix != null) { startPos += perfix.length(); str = perfix + str; } int endPos = startPos + keyWord.length(); SpannableStringBuilder style = new SpannableStringBuilder( str); style.setSpan(new ForegroundColorSpan(getResources() .getColor(R.color.search_result_highlight)), startPos, endPos, Spannable.SPAN_EXCLUSIVE_INCLUSIVE); return style; } } return new SpannableStringBuilder(str == null ? "" : ((perfix == null ? "" : perfix) + str)); }
以上为设置关键字高亮的方法,使用方法如下:
textView.setText(highLight(String.valueOf(vo.getNum()), query, null));
注:setTex(CharSequence text) 而SpannableStringBuilder实现了CharSequence接口。
更多相关文章
- Android网络应用接口
- [置顶] Android高质量博客分类汇总及接口API
- Android: AIDL --- Android中的远程接口
- Android Camera的接口与架构介绍
- 【特效】【自定义控件】关键字飘飞效果
- Android 设置默认锁屏壁纸接口
- Android Shape关键字意思
- (android 实战总结)android对html支持接口总结