TextView: как динамически изменить цвет определенного слова в абзаце - PullRequest
0 голосов
/ 11 августа 2011

Как изменить цвет абзаца слово за словом с таймером. как и в первую секунду, я хочу изменить цвет в следующем абзаце, после 5-й секунды изменить цвет текст , после 8-го второе изменение цвета будет и т. д.

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

Ответы [ 3 ]

0 голосов
/ 11 августа 2011

я думаю, что вы можете сделать что-то вроде этого:

Разделить абзац на слова, используя метод:

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 для отображения нового текста в цвете

Надеюсь, это поможет

0 голосов
/ 11 августа 2011

Вы можете использовать интервалы для управления внешним видом текста.Взгляните на Spannable и CharacterStyle .

Вот пример.Конечно, вам нужно поместить это в какой-то таймер.

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);
  }
}
0 голосов
/ 11 августа 2011

просто используйте Таймер и соответственно измените цвет шрифта вашего редактируемого текста и остановите таймер в фокусе.

...