2013-01-11 17 views
6

enter image description hereWie füge ich Text mit Format in den Text ein?

Das Bild stammt von einer App namens kakao story.

Angenommen, es gibt einen Beitrag mit einer Liste von Kommentaren wie alle SNS-Apps.
Wenn Sie auf einen Kommentar klicken, wird der Benutzername des Kommentators in den Bearbeitungstext eingefügt, um anzuzeigen.
(Sie können den gleichen Namen nicht mehr als einmal hinzufügen.)
Wenn Sie die Rücktaste drücken, um den Namen zu löschen, werden die gesamten Zeichen, aus denen der Name besteht (z. B. chabeau im Beispiel), durch 1-Rückschritt gelöscht .

Ich versuche, das Verhalten zu imitieren und einige Hinweise, wie es zu implementieren oder was zu suchen.

+0

http://stackoverflow.com/questions/3282940/set-color-of-textview-span-in-android – sgarman

Antwort

0
EditText et = (EditText) findViewById(R.id.edit1); 
et.setTextColor(Color.parseColor("yourColorCodeHere")); 
2

Wenn Sie auf der Suche nach Blase Ansicht sind. Sie können es erreichen, indem Sie eine Unterklasse von android.text.style.DynamicDrawableSpan.ImageSpan erstellen, die einen Teil von EditText Zeichenfolge in formatierte span konvertieren wird.

Diese SO Question gibt Ihnen eine Grundidee zum Erstellen formatierter Bereiche.

This ist ein gutes Tutorial zum Anpassen editext mit spans.

Und um ganzes Wort auf einmal zu löschen, können Sie SPAN_EXCLUSIVE_EXCLUSIVE Eigenschaft verwenden.

Unter dem Code werden die ersten vier Zeichen der Zeichenfolge formatiert, Hoffe, das wird Ihnen einen Hinweis geben.

final SpannableStringBuilder sb = new SpannableStringBuilder("your text here"); 
final ForegroundColorSpan fcs 
    = new ForegroundColorSpan(Color.rgb(158, 158, 158)); 

// Span to set text color to some RGB value 
sb.setSpan(fcs, 0, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 

yourTextView.setText(sb); 
Verwandte Themen