我有一個簡單的文本編輯器應用程序,該用戶可以選擇EditText中的單詞並更改其顏色。 所選詞的變色,我用這個代碼:如何設置多個顏色到EditText與選擇單詞
EditText edtText = (EditText) findViewById(R.id.edtText);
SpannableStringBuilder sb = new SpannableStringBuilder(edtText.getText().toString());
ForegroundColorSpan fcs = new ForegroundColorSpan(Color.rgb(255, 0, 0));
sb.setSpan(fcs, edtText.getSelectionStart(), edtText.getSelectionEnd(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
edtText.setText(sb);
此代碼工作正常,但我不能設置多種顏色編輯文本。例如,我寫了「你好,你好嗎?」在EditText中,我想將「你好」變成藍色,並且「你好嗎?」變紅。當我選擇「你好」並將它變成藍色,然後我選擇「你好嗎」並將它變成紅色時,「你好」這個詞將會變成黑色。有誰能夠幫助我? tahnks
我使用了HTML格式,但是這種方法改變了所有相似詞語的顏色,例如,如果我們寫「你好,我的朋友你好」,並選擇第二個「你好」,併爲它着色,首先「你好」也會着色。可以指導我嗎? – hosseinAmini
如果文本是「你好,我的朋友你好」,並且你想只着色第二個問候HTML文本將是你想要的HTML編輯HTML:「你好我的朋友 font color = 「red」>你好 – user2139223