gpt4 book ai didi

android - SpannableString.setSpan 不起作用?

转载 作者:搜寻专家 更新时间:2023-11-01 08:01:52 31 4
gpt4 key购买 nike

我正在尝试为

设置不同的颜色
            str.append(" ").append(isBlue ? "b" : "p");
SpannableString spannable = new SpannableString(str);
spannable.setSpan(new ForegroundColorSpan(isBlue ? R.color.blue: R.color.pink),
spannable.length() - 1,
spannable.length(),
Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
miscTextView.setText(spannable);

strStringBuilder 的实例。如果 isBlue 为真,我希望 miscTextView 的最后一个字符为蓝色,否则为粉红色,而其余文本保持黑色。
但事实证明,Either case 最后一个字符是灰色的,这让我很困惑。我做错了什么?

编辑:我已经检查了颜色资源 xml。Intellij 在 xml 代码行的左侧显示了颜色。

最佳答案

您正在使用返回 idR.color.blue。您应该改为获取如下颜色:

getResources().getColor(R.color.blue)

所以会是:

spannable.setSpan(new ForegroundColorSpan(isBlue ? getResources().getColor(R.color.blue): getResources().getColor(R.color.pink)),
spannable.length() - 1,
spannable.length(),
Spanned.SPAN_INCLUSIVE_EXCLUSIVE);

它是灰色的原因是因为 R.color.blue 的值(id 值)可能是与灰色对应的整数。

关于android - SpannableString.setSpan 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20113653/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com