2013-01-11 36 views
6

enter image description herecome aggiungere testo con formato in testo di modifica?

L'immagine proviene da un'app denominata kakao story.

Supponiamo che ci sia un post con un elenco di commenti come qualsiasi app di sns.
Quando si fa clic su un commento, inserisce il nome utente del commentatore nel testo di modifica per indicare my new comment is a reply to the user.
(Non è possibile aggiungere lo stesso nome più di una volta.)
Quando si preme backspace per eliminare il nome, gli interi caratteri che compongono il nome (ad esempio, chabeau nell'esempio) verranno eliminati da 1-backspace .

Sto cercando di imitare il comportamento e voglio alcuni indicatori su come implementarlo o su cosa cercare.

+0

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

risposta

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

Se siete alla ricerca di vista bolla. È possibile ottenerlo creando una sottoclasse di android.text.style.DynamicDrawableSpan.ImageSpan che convertirà una porzione di stringa EditText in formato span.

Questo SO Question ti darà un'idea di base sulla creazione di un intervallo formattato.

This è un buon tutorial per la personalizzazione di editext con spans.

E per eliminare tutta la parola contemporaneamente, è possibile utilizzare la proprietà SPAN_EXCLUSIVE_EXCLUSIVE.

Il codice seguente formatterà i primi quattro caratteri della stringa, Spero che questo ti dia qualche suggerimento.

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); 
Problemi correlati