更改使用自定义字体的textview部分的字体颜色

时间:2016-02-10 12:57:14

标签: android fonts textview

我使用uk.co.chrisjenx:calligraphy:2.1.0库在我的应用中实现了自定义字体。

我现在需要更改textview的部分颜色。我试过用

String username = "<font color='#FC195A'>" + post.getUsername() + "</font>";

但字体颜色保持不变。

有解决方法吗?

2 个答案:

答案 0 :(得分:1)

您可以使用Spannable String来完成任务。

请点击以下链接:

Set color of TextView span in Android

要为用户名提供颜色,请首先获取其长度,然后执行以下操作:

Spannable wordtoSpan = new SpannableString(username);        
wordtoSpan.setSpan(new ForegroundColorSpan(Color.BLUE), 0, username.length();, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
usernameTextView.setText(wordtoSpan);

答案 1 :(得分:0)

声明字体如下图所示

// Create the Typeface you want to apply to certain text
CalligraphyTypefaceSpan typefaceSpan = new CalligraphyTypefaceSpan(TypefaceUtils.load(getAssets(), "fonts/Roboto-Bold.ttf"));
// Apply typeface to the Spannable 0 - 6 "Hello!" This can of course by dynamic.
sBuilder.setSpan(typefaceSpan, 0, 6, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
setText(sBuilder, TextView.BufferType.SPANNABLE);

添加设置文字颜色选项

setTextColor(Color.BLACK);