Как установить курсивный шрифт для будущего текста в текущей позиции курсора в edittext и вернуть его в нормальное состояние?

#java #android #spannable #sketchware

#java #Android #spannable #sketchware

Вопрос:

Я хочу применить параметры текстового формата EditText . Я могу применять жирный шрифт, курсив, ударение, подчеркивание после нажатия клавиши пробела, но я не могу вернуть его к нормальному шрифту. Я хочу применить этот шрифт к текущей позиции курсора, а также вернуть его к нормальному шрифту.

я использую приложение Sketchware.

вот мой код:

 if (editText_is_Italic) {
editText_is_Italic = false; btn_italic.setColorFilter(0xFFFFFFFF, PorterDuff.Mode.MULTIPLY);
StyleSpan Spantxt = new StyleSpan(Typeface.NORMAL);
int start = edittext2.getSelectionStart();
int end = edittext2.getSelectionEnd();
int flag = Spannable.SPAN_INCLUSIVE_INCLUSIVE;
edittext2.getText().setSpan(Spantxt, start, end, flag);
}
else {
if (!editText_is_Italic) {

    editText_is_Italic = true;
    btn_italic.setColorFilter(0xFFFFC107, PorterDuff.Mode.MULTIPLY);
    StyleSpan Spantxt = new StyleSpan(Typeface.ITALIC);
    int start = edittext2.getSelectionStart();
    int end = edittext2.getSelectionEnd();
    int flag = Spannable.SPAN_INCLUSIVE_INCLUSIVE;
    edittext2.getText().setSpan(Spantxt, start, end, flag);
}
}
  

Я пытаюсь использовать .removeSpan(); и .clearSpans(); при удалении span, также я пытаюсь Spannable.SPAN_EXCLUSIVE_INCLUSIVE установить это в текущей позиции курсора. Но никто не преуспел.