Android 如何将具有格式的文本添加到编辑文本中?

Android 如何将具有格式的文本添加到编辑文本中?,android,android-edittext,Android,Android Edittext,该图像来自一个名为《卡考故事》的应用程序 假设有一篇帖子和任何sns应用程序一样包含评论列表。 单击注释时,它会在编辑文本中插入注释者的用户名,以指示我的新注释是对用户的答复 (不能多次添加相同的名称。) 当您点击backspace删除名称时,组成名称的整个字符(例如,示例中的chabeau)将被1-backspace删除 我试图模仿这种行为,并希望得到一些如何实现它或搜索什么的指针 如果您正在搜索气泡视图。您可以通过创建android.text.style.DynamicDrawableSpa

该图像来自一个名为《卡考故事》的应用程序

假设有一篇帖子和任何sns应用程序一样包含评论列表。
单击注释时,它会在编辑文本中插入注释者的用户名,以指示
我的新注释是对用户的答复

(不能多次添加相同的名称。)
当您点击backspace删除名称时,组成名称的整个字符(例如,示例中的chabeau)将被1-backspace删除


我试图模仿这种行为,并希望得到一些如何实现它或搜索什么的指针

如果您正在搜索气泡视图。您可以通过创建
android.text.style.DynamicDrawableSpan.ImageSpan的子类来实现它,该子类将
EditText
字符串的一部分转换为格式化的
span

EditText et = (EditText) findViewById(R.id.edit1);
et.setTextColor(Color.parseColor("yourColorCodeHere"));
这将为您提供有关创建格式化span的一些基本概念

是使用
span
自定义
editext
的好教程

对于一次删除整个单词,可以使用属性

下面的代码将格式化字符串的前四个字符,希望这能给你一些提示

final SpannableStringBuilder sb = new SpannableStringBuilder("your text here");
final ForegroundColorSpan fcs
    = new ForegroundColorSpan(Color.rgb(158, 158, 158)); 

// Span to set text color to some RGB value
sb.setSpan(fcs, 0, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 

yourTextView.setText(sb);