Android 一个String字符串 设置不同的颜色值

2022-07-13  本文已影响0人  海内灬存知己

在很多时候我们都需要设置一个字符串设置固定长度设置不同的颜色,看到网上有很多,所以在此总结一下,以下两种方法,本人强烈推荐第一种方法,简单有效(这是我需要实现的效果)

1、
mString = "您入伙的产品是<font color='red'>需要变色的内容
</font>类型,合伙人的最大风险是"+"<font color='red'>"+需要变色的内容+"</font>,确认继续入伙?";
<font color='red'>标签可以根据自己的需要设置不同的颜色
最后通过Html.fromHtml(mString),将string类型的转换成Spanned

2、
//创建 SpannableString 对象
msg = "您入伙的产品是不保本浮动收益类型,合伙人的最大风险是"+ 5% / 15% / 100% + ",确认继续入伙?";
mStyledText = new SpannableStringBuilder(msg);
mStyledText.setSpan(new ForegroundColorSpan(Color.RED), 7, 14, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
if (mProBody.getPartnerRiskValue(2) > 100) {
mStyledText.setSpan(new ForegroundColorSpan(Color.RED), 26, 33, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
} else if (mProBody.getPartnerRiskValue(2) < 10) {
mStyledText.setSpan(new ForegroundColorSpan(Color.RED), 26, 31, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
} else {
mStyledText.setSpan(new ForegroundColorSpan(Color.RED), 26, 32, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
这个方法相对于第一种就比较麻烦,需要通过数第几个到第几个需要改变颜色,如果长度不固定,则需要判断是几位数,
整体比较麻烦,所以推荐第一种方式,很容易就可以实现这种效果
————————————————
原文链接:https://blog.csdn.net/Duxiaopan96/article/details/77648354

上一篇下一篇

猜你喜欢

热点阅读