2

私は明らかに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>

前もって感謝します

4

0 に答える 0