获取edittext的文本而不会丢失任何颜色

时间:2017-11-21 21:49:43

标签: android

我正在制作计算器应用程序,我有一个名为表达式的EditText。

我使用Spannable对象将一些函数编写为彩色字符串。但是,如果我在EditText中使用新的Spannable对象追加字符串,我会丢失所有颜色。

我的代码:

Spannable left_of_mSpan = new SpannableString(mSpan.subSequence(0,currentCursor));
Spannable right_of_mSpan = new SpannableString(mSpan.subSequence(currentCursor,mSpan.length()));

Spannable toAdd = new SpannableStringBuilder(toAddText,0,toAddText.length());
toAdd.setSpan(color,0,toAdd.length(), 0);
expression.setText( TextUtils.concat(TextUtils.concat(left_of_mSpan,toAdd),right_of_mSpan));  

如何在不丢失颜色的情况下附加edittext?

1 个答案:

答案 0 :(得分:0)

尝试

  static String coloredText(String text,String color)
    {
      return String.format("<font  color='%s'>%s</font>",color,text);
    }

    String styledText =coloredText("red","#ff0000");
           styledText =styledText+coloredText("green","#00ff00");
expression.setText(Html.fromHtml(styledText),TextView.BufferType.SPANNABLE);

此库html-textview支持更多html标记