具有多个彩色文本的单个TextView

正如标题所说,我想知道是否可以在单个文本视图元素中实现两个不同的彩色字符。


是的,如果你用htmlfont-color属性格式化String ,然后将它传递给方法Html.fromHtml(your text here)

String text = "<font color=#cc0029>First Color</font> <font color=#ffcc00>Second Color</font>";
yourtextview.setText(Html.fromHtml(text));

您可以打印不带HTML的多种颜色的线条,如下所示:

TextView textView = (TextView) findViewById(R.id.mytextview01);
Spannable word = new SpannableString("Your message");        

word.setSpan(new ForegroundColorSpan(Color.BLUE), 0, word.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

textView.setText(word);
Spannable wordTwo = new SpannableString("Your new message");        

wordTwo.setSpan(new ForegroundColorSpan(Color.RED), 0, wordTwo.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.append(wordTwo);

您可以使用Spannable将效果应用于TextView

这里是我为TextView文本的第一部分着色的示例(同时允许您动态设置颜色,而不是像HTML示例那样将其编码为字符串)!

    mTextView.setText("Red text is here", BufferType.SPANNABLE);
    Spannable span = (Spannable) mTextView.getText();
    span.setSpan(new ForegroundColorSpan(0xFFFF0000), 0, "Red".length(),
             Spannable.SPAN_INCLUSIVE_EXCLUSIVE);

在这个例子中,你可以用getResources().getColor(R.color.red)代替0xFFFF0000 getResources().getColor(R.color.red)

链接地址: http://www.djcxy.com/p/74627.html

上一篇: Single TextView with multiple colored text

下一篇: Can I change TextView link text after using Linkify?