Android - 为以后的文本设置 EditText 粗体/斜体/下划线
Android - Set EditText Bold / Italic / Underline for the future text
我想将文本格式选项应用到 EditText。选择文本时,我可以应用所有格式,例如粗体、斜体、下划线、删除线、BulletPoint。但是,我想将格式应用于用户将来键入的文本。
我使用了 mEditText.setTypeface(null, Typeface.BOLD)
/ mEditText.setTypeface(null, Typeface.ITATIC)
,但它使整个 EditText 变为粗体/斜体。
我只想对单击“粗体/斜体”按钮后键入的文本设置粗体/斜体。
有一些类似的问题,但 none 有答案。
仅适用于粗体:
editText.setTypeface(Typeface.DEFAULT,Typeface.BOLD)
仅斜体:
editText.setTypeface(Typeface.DEFAULT,Typeface.ITALIC)
对于粗体和斜体,
editText.setTypeface(Typeface.DEFAULT,Typeface.BOLD_ITALIC)
您需要使用 span。
editText.doAfterTextChanged() {...
when(selectedStyle) {
Italic -> {
val spannable = SpannableString(text)
spannable.setSpan(Spans.Italic, styleStart, text.length, Spannable.EXCLUSIVE_EXCLUSIVE)
}
}
}
这篇文章应该能帮到你
https://medium.com/androiddevelopers/spantastic-text-styling-with-spans-17b0c16b4568
这个问题应该对你的文本监听器有帮助
android on Text Change Listener
当用户按下更改样式的按钮时,然后保存文本长度,以便在 TextWatcher
文本更改后应用所选样式。
也许你应该考虑寻找一些所见即所得的库。
我想将文本格式选项应用到 EditText。选择文本时,我可以应用所有格式,例如粗体、斜体、下划线、删除线、BulletPoint。但是,我想将格式应用于用户将来键入的文本。
我使用了 mEditText.setTypeface(null, Typeface.BOLD)
/ mEditText.setTypeface(null, Typeface.ITATIC)
,但它使整个 EditText 变为粗体/斜体。
我只想对单击“粗体/斜体”按钮后键入的文本设置粗体/斜体。
有一些类似的问题,但 none 有答案。
仅适用于粗体:
editText.setTypeface(Typeface.DEFAULT,Typeface.BOLD)
仅斜体:
editText.setTypeface(Typeface.DEFAULT,Typeface.ITALIC)
对于粗体和斜体,
editText.setTypeface(Typeface.DEFAULT,Typeface.BOLD_ITALIC)
您需要使用 span。
editText.doAfterTextChanged() {...
when(selectedStyle) {
Italic -> {
val spannable = SpannableString(text)
spannable.setSpan(Spans.Italic, styleStart, text.length, Spannable.EXCLUSIVE_EXCLUSIVE)
}
}
}
这篇文章应该能帮到你 https://medium.com/androiddevelopers/spantastic-text-styling-with-spans-17b0c16b4568
这个问题应该对你的文本监听器有帮助 android on Text Change Listener
当用户按下更改样式的按钮时,然后保存文本长度,以便在 TextWatcher
文本更改后应用所选样式。
也许你应该考虑寻找一些所见即所得的库。