我正在制作计算器应用程序,我有一个名为表达式的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?
答案 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标记