我显然对 Android 很陌生。谁能帮我?我有 EditText,其中有一个功能来设置颜色(文本的不同颜色)、字体大小(文本的不同字体大小)、字体系列。我已经使用 SpannableStringBuilder 实现了
String st = getResources().getString(R.string.default_texteditor_text);
SpannableStringBuilder text = new SpannableStringBuilder(st);
text.setSpan(new ForegroundColorSpan(lastTextColor), 0, st.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
text.setSpan(new AbsoluteSizeSpan(lastTextSize*2), 0, st.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
editText.setText(text);
editText.setMovementMethod(LinkMovementMethod.getInstance());
并使用保存editText
String spannableString = Html.toHtml(editText.getText());
在特定条件下,我想按原样检索 editText ,然后将其保存到 string ,这样做是
Spanned s = Html.fromHtml(textPropertiesOld.getSpannableString());
editText.setText(s);
editText.setSelection(editText.getSelectionEnd());
一切都按原样设置,但所有文本的字体大小设置相似。示例:我在edittext中设置的是
但我恢复后得到的是
当我尝试打印字符串时
Log.d("HTML = ",spannableString);
我得到了以下 HTML ....
<p dir="ltr"><font color ="#000000">j</font><font color
="#000000">h</font><font color ="#000000">g</font><font color ="#000000">j</font><font color ="#000000">h</font><font color ="#000000">Your Text Here...</font><br>
<font color ="#e91d1d"><font size ="11">Q</font></font><br>
<font color ="#e91d1d"><font size ="27">T</font></font><font color ="#e91d1d"><font size ="27">e</font></font><font color ="#e91d1d"><font size ="27">z</font></font><font color ="#e91d1d"><font size ="27">t</font></font><font color ="#e91d1d"><font size ="11">h</font></font><font color ="#e91d1d"><font size ="11">h</font></font><font color ="#e91d1d"><font size ="11">j</font></font><font color ="#e91d1d"><font size ="11">g</font></font><font color ="#e91d1d"><font size ="11">g</font></font><font color ="#e91d1d"><font size ="11">b</font></font></p>
提前致谢