我一直在努力使用EditText和Spannable文本对象,这些天来,我已经阅读API大约十次了,即使我不确定我是否理解正确。因此,我正在寻找一种示例,向我展示如何利用EditText和Spannable。
最佳答案
由于您没有指定您无法从API掌握的内容,因此很难回答您的问题(简短的答案:将您的问题重写为特定的问题,而不是一般的问题)。
一个典型的Spannable示例就是这样的,它将EditText中的选定文本转换为斜体:
Spannable str = mBodyText.getText();
if(mBodyText.getSelectionEnd() > mBodyText.getSelectionStart())
str.setSpan(new StyleSpan(android.graphics.Typeface.ITALIC),
mBodyText.getSelectionStart(), mBodyText.getSelectionEnd(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
else
str.setSpan(new StyleSpan(android.graphics.Typeface.ITALIC),
mBodyText.getSelectionEnd(),
mBodyText.getSelectionStart(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
它是通过其他方式剪切和粘贴的,因此您的直接粘贴性可能会受到影响,但至少显示了
Spannable
(在本例中为StyleSpan
)的有效示例。在API中,您可以找到其他类型的跨度(特别是ImageSpan
,这是新转换的机器人中的常见问题)。