Android 如何使用Html.toHtml保留字体大小,并使用Html.fromHtml恢复字体大小?

Android 如何使用Html.toHtml保留字体大小,并使用Html.fromHtml恢复字体大小?,android,fonts,android-edittext,spannablestringbuilder,Android,Fonts,Android Edittext,Spannablestringbuilder,显然,我对安卓非常陌生。有人能帮我吗?我有EditText,其中有一个功能可以设置颜色(文本的颜色不同)、字体大小(文本的字体大小不同)、字体系列。我已经用SpannableStringBuilder实现了 String st = getResources().getString(R.string.default_texteditor_text); SpannableStringBuilder text = new SpannableStringBuilder(st); text.set

显然,我对安卓非常陌生。有人能帮我吗?我有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());
并使用

 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>

jhjjhy您的文本在此…
Q
Tezthhjggb


提前谢谢

你能为print
st
spannableString
s
写一些locat,然后在你的问题中发布吗?原因是Android中实现的
font
标记不支持大小。请查看为什么您需要
spannableString
当您可以设置new edittext text=old
SpannableStringBuilder text
?@PhanVanLinh时,实际情况是,我将edittext存储为图像(位图)/贴纸视图并双击图像,我们可以编辑此文本(重置大小、颜色),可以有很多文本图像,所以我使用textProperties模型来管理它