TextView:如何动态更改段落中某些单词的颜色

时间:2011-08-11 09:45:52

标签: android colors textview

如何使用计时器逐字更改段落的颜色。比如第一秒我想改变 >,第8秒后 的变色将 等等......

The text will be wrapped in tags, and displayed in a monospaced font.    

3 个答案:

答案 0 :(得分:0)

只需使用Timer并相应地更改编辑文字的字体颜色,并停止计时器丢失。

答案 1 :(得分:0)

我认为你可以这样做:

使用以下方法将段落拆分为单词:

split(String separator);// it will return an array of Strings 
//in your case you will do somthing like this 
myWords = paragraph.split(" ");// the separator is the space

然后,您可以使用该方法通过使用该方法为您想要的单词进行整理:

myNewParagraph.append(HTML.fromHtml("<font color...>... Your HTML Code to colorate your Text"));

当您为每个单词着色时,更新textView以显示彩色的新文本

希望有所帮助

答案 2 :(得分:0)

您可以使用跨度来控制文本的外观。请查看SpannableCharacterStyle

这是一个例子。当然你需要将它放在某种计时器中。

Spannable spannableText = getSpannableText(yourTextView);
spannableText.setSpan(new TextAppearanceSpan(...), wordStart, wordEnd)
yourTextView.setText(spannableText);

private Spannable getSpannableText(TextView tv) {
  CharSequence cs = tv.getText();
  if (cs instanceof Spannable) {
    return (Spannable)cs;
  } else {
    return SpannableString.valueOf(cs);
  }
}