如何在EditText中设置字符串的颜色

时间:2014-12-12 07:44:24

标签: android

我将String附加到Editbox。 这里appendToMessageHistory是方法。 我想为Both String Username和messge设置单独的单独颜色  在你投票之前请先给出解决方案,并认为它在android中并不相关。

 public void appendToMessageHistory(String username, String message) {
            if (username != null && message != null) {
                messageHistoryText.append(username + ":");
                messageHistoryText.append(message + "\n" + "\n");
            }
        }

任何建议表示赞赏。

2 个答案:

答案 0 :(得分:2)

String htmlText = "<font color=#cccccc>" + username+"</font> <font color=#ffeecc>"+ message+"</font>";
messageHistoryText.setText(Html.fromHtml(htmlText));

试试这个希望它会有所帮助。

public static Spanned fromHtml (String source)

答案 1 :(得分:1)

尝试使用SpannableString

SpannableString spannableString = new SpannableString(editText.getText().toString());
int lastIndex = //index to be used
spannableString.setSpan(new ForegroundColorSpan(Color.BLUE),0,lastIndex, 0);
editText.setText(spannableString);

检查这个不错的Tutorial.