Android实用小功能文案中突出关键数据显示红色

181 阅读1分钟

开发常有需求,一句文案中突出部分内容显示红色,如下图样式

image.png 如何实现呢,直接上代码

/**
 * 文案部分文字标红
 * copywriting:文案内容
 * activeTitle:需要凸显的内容
 */
fun getMarkedRedTitle(copywriting: String, activeTitle: String): CharSequence {
    if (activeTitle.isNotEmpty() && title.contains(activeTitle)) {
        runCatching {
            val sub = title.split(activeTitle)
            val newTitle = SpannableString(copywriting)
            newTitle.setSpan(
                ForegroundColorSpan(Color.parseColor("#FF3B15")),
                sub[0].length,
                sub[0].length + activeTitle.length,
                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE
            )
            //内容文案标题
            return newTitle
        }.onFailure {
            return title
        }
    }
    return title
}

然后直接使用即可 textView.setText(getMarkedRedTitle("Save 66% on new user specials", "66%"))