2013-01-11 44 views
6

enter image description here如何將帶格式的文本添加到編輯文本中?

該圖像來自一個名爲kakao story的應用。

假設有一個包含任何sns應用程序的評論列表的帖子。
當您單擊評論時,它會將評論者的用戶名插入編輯文本中以指示my new comment is a reply to the user
(您不能多次添加相同的名稱)
當您點擊退格刪除名稱時,組成該名稱的所有字符(例如,chabeau)將被1-backspace刪除。

我試圖模仿行爲,並希望一些指針如何實現它或搜索什麼。

+0

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

回答

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

如果你正在尋找的泡看法。您可以通過創建android.text.style.DynamicDrawableSpan.ImageSpan的子類來實現它,該子類將EditText字符串的一部分轉換爲格式化的span

這個SO Question會給你一些關於創建格式化跨度的基本想法。

This是一個很好的教程,用於定製editextspans

並且爲了一次刪除整個單詞,您可以使用SPAN_EXCLUSIVE_EXCLUSIVE屬性。

下面的代碼將格式化字符串的前四個字符,希望這會給你一些提示。

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); 
相關問題