正如标题所说,我想知道是否有可能在单个textview元素中实现两种不同颜色的字符。
发布于 2011-05-23 15:53:58
可以,如果使用html
的font-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));
发布于 2013-02-18 21:00:51
您可以在没有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);
发布于 2013-02-21 23:16:09
您可以使用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);
在此示例中,您可以将0xFFFF0000替换为getResources().getColor(R.color.red)
https://stackoverflow.com/questions/6094315
复制相似问题