gpt4 book ai didi

java - 使用 spannableString 在 android 中更改 TextView 文本的颜色

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:58:46 26 4
gpt4 key购买 nike

我有一个字符串

1 Friend | O Reviews | 0 Coupons

我正在使用以下代码

SpannableString hashText = new SpannableString(TextUtils.concat(
friendsText,
" | ",
reviewsText,
" | ",
couponsText
).toString());

Matcher matcher = Pattern.compile("\\s* | \\s*").matcher(hashText);
while (matcher.find())
{
hashText.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.blue)), matcher.start(), matcher.end(), 0);
}

detailsText.setText(hashText);

我想改变|的颜色从 TextView 原来的灰色变为蓝色。上面的代码什么都不做。我做错了什么。

最佳答案

这样试试

String text = TextUtils.join(" | ", Arrays.asList(new String[]{"1 Friend", "1 Review", "1 Coupons"}));

Spannable spannable = new SpannableString(text);

int index = text.indexOf('|');
while (index >= 0) {
spannable.setSpan(new ForegroundColorSpan(Color.BLUE), index, index + 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
index = text.indexOf('|', index + 1);
}
detailsText.setText(hashText);

输出:

enter image description here

关于java - 使用 spannableString 在 android 中更改 TextView 文本的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37096185/

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