Я работаю над типом игры на Android. Он имеет текстовый вид с предложением, которое пользователь должен ввести. Каждый раз, когда текущее слово, которое пользователь вводит, будет подчеркнуто, как только пользователь закончит слово, это слово изменит цвет в зависимости от времени, которое требуется для ввода (например> 5 секунд = красный, < 5 секунд зеленый).Подчеркивание и изменение цвета текста в Android TextView
Мой вопрос: как я могу подчеркнуть и изменить цвет слов в текстовом представлении, чтобы, когда я подчеркиваю новое слово, он также сохранит цвет предыдущих?
В настоящее время я делаю некоторые вещи, как это каждый раз, когда я перейти к следующему слову
String texts = myTextView.getText().toString();
// put the next word to be underlined between <u> </u> tags
myTextView.setText(Html.fromHtml(texts));
Как вы можете видеть, это будет подчеркнуть следующее слово, но все цвета предыдущих слов будет но я хочу сохранить их.
Благодарим за помощь!
Редактировать: мой текст уже исправлен, и пользователь должен ввести слова, которые они видят. Например, у меня есть предложение «Sample Sentence Hello». Я хочу сначала подчеркнуть «Образец», затем подчеркнуть «Предложение», «Образец» изменился на красный или зеленый, затем подчеркнутый «Привет», а «Образец» и «Предложение» изменились на красный или зеленый в зависимости от времени, которое потребовалось пользователь вводит каждое слово.
Вы должны идти с Spannable класса. http://stackoverflow.com/questions/3282940/set-color-of-textview-span-in-android –
@ K.Gandhi Спасибо, как я вижу, мне нужно хранить начальные индексы каждого слова до используйте Spannable. Это правильно? – Nguyen
да, вы можете пойти с этим. Это просто базовая идея ... вы должны копать и легко работать. –