问题描述
我想在Edittext上应用文本格式选项。空格键触发后,我可以应用粗体,斜体,删除线,下划线,但是我无法将其恢复为正常字体。我想将此字体应用于当前光标位置,也能够将其恢复为普通字体。
我正在使用Sketchware App。
这是我的代码:
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,flag);
}
}
我尝试使用.removeSpan();和.clearSpans();在删除跨度时,我也尝试过Spannable.SPAN_EXCLUSIVE_INCLUSIVE来将其设置为当前光标位置。但是没有人成功。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)