关于解决一行文本中出现不同字体颜色,以及字体大小问题
方案①使用SpannableString方法,代码如下所示:
fun spannableTextColor(
text: String,
color: Int,
start: Int,
end: Int,
clickListener: ClickListenerEmptyData
): SpannableString {
val spannable: SpannableString = SpannableString(text)
spannable.setSpan(object : ClickableSpan() {
override fun onClick(widget: View) {
clickListener.clickListener()
}
override fun updateDrawState(ds: TextPaint) {
super.updateDrawState(ds)
ds.color = color
ds.clearShadowLayer()
}
}, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
return spannable
}
方案②textView设置Html文本方式,代码如下
val html = "<font color='#E81818'><big>${activity.marketingStr}</big></font><br/>"
textView.text = Html.fromHtml(html)