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