Ich arbeite an einem Android-Projekt mit einigen TextViews für Studenten, aber ich möchte, dass Benutzer lange klicken und einige Teile des Inhalts mit verschiedenen Farben markieren, wie es in einigen passiert Bibel-Apps oder Adobe Reader. Die Option zum Markieren von Textfarbe geschieht bei langem Klick. Ich freue mich über jede Anleitung, damit dies funktioniert.Wie man TextView hervorheben kann
Antwort
Verwendung Spannable Zeichenfolge, die den Test Beispiel stylen:
String firstWord = "Hello";
String secondWord = "World!";
TextView tvHelloWorld = (TextView)findViewById(R.id.tvHelloWorld);
// Create a span that will make the text red
ForegroundColorSpan redForegroundColorSpan = new ForegroundColorSpan(
getResources().getColor(android.R.color.holo_red_dark));
// Use a SpannableStringBuilder so that both the text and the spans are mutable
SpannableStringBuilder ssb = new SpannableStringBuilder(firstWord);
// Apply the color span
ssb.setSpan(
redForegroundColorSpan, // the span to add
0, // the start of the span (inclusive)
ssb.length(), // the end of the span (exclusive)
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); // behavior when text is later inserted into the SpannableStringBuilder
// SPAN_EXCLUSIVE_EXCLUSIVE means to not extend the span when additional
// text is added in later
// Add a blank space
ssb.append(" ");
// Create a span that will strikethrough the text
StrikethroughSpan strikethroughSpan = new StrikethroughSpan();
// Add the secondWord and apply the strikethrough span to only the second word
ssb.append(secondWord);
ssb.setSpan(
strikethroughSpan,
ssb.length() - secondWord.length(),
ssb.length(),
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
// Set the TextView text and denote that it is Editable
// since it's a SpannableStringBuilder
tvHelloWorld.setText(ssb, TextView.BufferType.EDITABLE);
Quelle: https://guides.codepath.com/android/Working-with-the-TextView
Sorry das ist nicht was ich wollte. Ich habe die Frage aktualisiert, um zu reflektieren, was ich wirklich brauche. Ich möchte, dass Benutzer lange auf die Textansicht klicken, um die Option zu erhalten, einige Teile der Texte zu markieren. – user2810726
entsprechend der Aktualisierung Ihres Posts: Sie müssen in jedem Wort clickablespan setzen, wenn eine Arbeit geklickt wird, dann ändern Sie die Schriftgröße oder Farbe Starten Sie die Animation, die ausgewählt ist. clickablespan und SpannableString nur Unterstützung klicken es nicht unterstützt longclick –
Besser für eine Bibliothek zu verwenden. Siehe diesen Link. https://github.com/athkalia/EmphasisTextView
lassen Sie mich wissen, es ist wertvoll oder nicht ... – Champandorid
Sorry, das ist nicht das, was ich wollte. Ich habe die Frage aktualisiert, um zu reflektieren, was ich wirklich brauche. Ich möchte, dass Benutzer lange auf die Textansicht klicken, um die Option zu erhalten, einige Teile der Texte hervorzuheben – user2810726
- 1. Wie kann man Mehrfachauswahl in react mit redux hervorheben?
- 2. Wie kann man hervorheben, wenn das Atom/Sublime endet?
- 3. Wie kann ich Text in Scintilla hervorheben?
- 4. Wie man ListView auf TextView
- 5. Wie man eine zirkuläre TextView
- 6. ListView Markierte Objekte hervorheben
- 7. Wie man den TextView zum korrekten Ziel anderen TextView zieht
- 8. ReSharper hervorheben benutzerdefinierte HtmlHelper-Parameter hervorheben
- 9. Wie kann man wissen, dass TextView nach unten scrollt?
- 10. Wie kann man sich mit textView in android einrollen?
- 11. Wie kann man überprüfen, ob Textview ist Android ellipsized wird
- 12. Wie macht man Multisyntax in vim mit Text-Triggern hervorheben?
- 13. Android: Wie EditText programmgesteuert hervorheben?
- 14. wie man Text von Textview mit espresso
- 15. Text in einer Textansicht hervorheben
- 16. Kann Eclipse nicht erreichbaren Code hervorheben?
- 17. Wie kombiniert man RxBinding textView und PublicSubject?
- 18. wie man animation zu TextView hinzufügt
- 19. Wie definiert man ColorStateList für TextView?
- 20. Wie überprüft man, ob TextView leer ist?
- 21. Datenpunkt in Diagrammsteuerung hervorheben
- 22. Wie man Textview in doINBackground android
- 23. WPF-Polylinie - wie Punkte hervorheben?
- 24. Wie ein doppeltes Wort hervorheben?
- 25. Wie man textview Text mit Javascript android
- 26. Wie aktualisiert man TextView mit CountdownTimer onResume?
- 27. Wie startet man TextView in tabView?
- 28. Wie kann TextView genauso aussehen wie EditText?
- 29. Wie bestimmte Daten in Bootstrap-Datumsauswahl hervorheben?
- 30. Wie man line-height textView auf Android
Möchten Sie das? https://android--code.blogspot.in/2016/03/android-highlight-text-in-textview.html –
Ihre Frage ist unklar, beziehen Sie sich auf diese: http://stackoverflow.com/help/how- zu fragen –
Ich habe die Frage aktualisiert. Vielen Dank. – user2810726