Ich arbeite an einer Art Tippspiel auf Android. Es hat eine Textansicht mit dem Satz, den der Benutzer eingeben muss. Jedes Mal, wenn das aktuelle Wort, das der Benutzer eingeben muss, unterstrichen wird, sobald der Benutzer ein Wort beendet hat, ändert sich das Wort basierend auf der Zeit, die es brauchte (zB> 5 Sekunden = rot, < 5 Sekunden ist grün).Unterstreichen und ändern Textfarbe in Android TextView
Meine Frage ist, wie kann ich die Farbe der Wörter in der Textansicht unterstreichen und ändern, so dass, wenn ich ein neues Wort unterstreiche, es auch die Farbe der vorherigen behält?
Zur Zeit bin ich jedes Mal etwas, was wie dies zu tun ich zum nächsten Wort bewegen
String texts = myTextView.getText().toString();
// put the next word to be underlined between <u> </u> tags
myTextView.setText(Html.fromHtml(texts));
Wie Sie sehen können, wird es das nächste Wort unterstreichen, sondern alle Farben der vorhergehenden Wörter wird verloren, aber ich möchte diese behalten.
Danke für Ihre Hilfe!
Bearbeiten: Mein Text ist bereits behoben und der Benutzer muss die Wörter eingeben, die sie sehen. Zum Beispiel habe ich einen Satz "Sample Sentence Hello". Ich möchte, dass "Sample" zuerst unterstrichen wird, dann "Sentence" unterstrichen, "Sample" rot oder grün geändert, dann "Hello" unterstrichen und "Sample" und "Sentence" je nach der Zeit in rot oder grün geändert der Benutzer jedes Wort eingeben.
Sie sollten mit Spannable Klasse gehen. http://stackoverflow.com/questions/3282940/set-color-of-textview-span-in-android –
@ K.Gandhi Danke, wie ich es sehe, muss ich die Start-End-Indizes jedes Wortes speichern Verwenden Sie spannbar. Ist das richtig? – Nguyen
ja, du kannst damit gehen. Es ist nur eine Grundidee ... du solltest graben und es einfacher machen. –