美文网首页
android String 某一个重复的字符改变颜色

android String 某一个重复的字符改变颜色

作者: AwaitZhang | 来源:发表于2018-07-26 17:27 被阅读154次

    转载注明出处:hknishi_zs的文章链接

    问题:

    一个字符串 :String string="我爱罗爱我爱你哦"; 我想讲爱 字换成一个颜色值显示在我们的textview上面

    解决有俩中方式

    一、kotlin所写   思路变量得索引

    1.如图所示代码如下:

    2. 代码如下:

    private val integers = ArrayList()

    private fun searchAllIndex(content: String?, chars: String): List? {

        if (null != content && content.length!! > 0) {

            var a = content.indexOf(chars)//*第一个出现的索引位置

            while (a != -1) {

                integers.add(a)

                a = content.indexOf(chars, a + 1)//*从这个索引往后开始第一个出现的位置

            }

        } else if (null != content && content.length!! == 0) {

            return null

        }

        return integers

    }

    ------------------------------------------------------------------------

    /**

    * content 你传入的String 字符串

    * chars: 你查找的字符

    */

    private fun changeTxt(content: String,chars: String){

        val content = "我爱罗爱我爱你哦!爱"

        val list = searchAllIndex(content, chars)

        val style = SpannableStringBuilder(content)

        if (null != list) {

            for (integer in list) {

                if (integer != content.length) {

                    style.setSpan(ForegroundColorSpan(Color.RED), integer,

                            integer + 1, Spannable.SPAN_EXCLUSIVE_INCLUSIVE)

                } else {

                    style.setSpan(ForegroundColorSpan(Color.RED), integer,

                            content.length, Spannable.SPAN_EXCLUSIVE_INCLUSIVE)

                }

            }

            //给TextView设置  SpannableStringBuilder 后的  content

            textl.text = style

        }

    }

    二、html增加颜色值

    相关文章

      网友评论

          本文标题:android String 某一个重复的字符改变颜色

          本文链接:https://www.haomeiwen.com/subject/nuobmftx.html