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

转载注明出处: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增加颜色值


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容