安卓实现高亮显示文字中的某段文字

1.高亮显示文字中的某段文字

public static void lightShow(String content, String lightContent, TextView textView) {
        SpannableString spannableString = new SpannableString(content);
        Pattern p = Pattern.compile(lightContent);
        Matcher m = p.matcher(content);
        while (m.find()) {
            int start = m.start();
            int end = m.end();
            spannableString.setSpan(new ForegroundColorSpan(BaseApplication.getCurrentActivity().getResources().getColor(R.color.font_5e8)), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        }
        textView.setText(spannableString);
    }

2.高亮显示文字中的某2段文字并且带下划线的

 public static void lightAndLineShow2(String content, String lightContent,String lightContent2, TextView textView) {
        SpannableString spannableString = new SpannableString(content);
        Pattern p = Pattern.compile(lightContent);
        Matcher m = p.matcher(content);
        while (m.find()) {
            int start = m.start();
            int end = m.end();
            spannableString.setSpan(new ForegroundColorSpan(BaseApplication.getCurrentActivity().getResources().getColor(R.color.font_5e8)), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
            spannableString.setSpan(new UnderlineSpan(), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        }
        Pattern p2 = Pattern.compile(lightContent2);
        Matcher m2 = p2.matcher(content);
        while (m2.find()) {
            int start2 = m2.start();
            int end2 = m2.end();
            spannableString.setSpan(new ForegroundColorSpan(BaseApplication.getCurrentActivity().getResources().getColor(R.color.font_5e8)), start2, end2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
            spannableString.setSpan(new UnderlineSpan(), start2, end2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        }
        textView.setText(spannableString);
    }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
语法高亮 HighlightTextEditor是一个安卓代码语法高亮控件,目前已经支持200多种语言,近90多种主题配色方案,同时支持lua扩展,以及自定义语言配置。强烈推荐,一款不可多得的开源控件。 支持的语言: abap4.lang clojure.lang innosetup.lang nxc.lang s.lang abc.lang clp.lang interlis.lang oberon.lang sas.lang abnf.lang cobol.lang io.lang objc.lang scala.lang actionscript.lang coldfusion.lang jasmin.lang ocaml.lang scilab.lang ada.lang conf.lang java.lang octave.lang scss.lang agda.lang crk.lang js.lang oorexx.lang sh.lang algol.lang csharp.lang jsp.lang os.lang small.lang ampl.lang css.lang ldif.lang oz.lang smalltalk.lang amtrix.lang d.lang less.lang paradox.lang sml.lang applescript.lang dart.lang lhs.lang pas.lang snmp.lang arc.lang diff.lang lilypond.lang pdf.lang snobol.lang arm.lang dylan.lang limbo.lang perl.lang spec.lang as400cl.lang ebnf.lang lindenscript.lang php.lang spn.lang ascend.lang eiffel.lang lisp.lang pike.lang sql.lang asp.lang erlang.lang logtalk.lang pl1.lang squirrel.lang aspect.lang euphoria.lang lotos.lang plperl.lang styl.lang assembler.lang express.lang lotus.lang plpython.lang swift.lang ats.lang fame.lang lua.lang pltcl.lang sybase.lang autohotkey.lang felix.lang luban.lang pov.lang tcl.lang autoit.lang fortran77.lang make.lang pro.lang tcsh.lang avenue.lang fortran90.lang maple.lang progress.lang tex.lang awk.lang frink.lang matlab.lang ps.lang ts.lang bat.lang fsharp.lang maya.lang ps1.lang
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨Army

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值