图片来自名为 kakao story
的应用。
假设有一个带有评论列表的帖子,就像任何 sns 应用程序一样。
当您单击评论时,它会在编辑文本中插入评论者的用户名,以指示我的新评论是对用户的回复
。
(您不能多次添加相同的名称。)
当您按下退格键删除名称时,组成名称的整个字符(例如,示例中的 chabeau)将被 1-backspace 删除。
我正在尝试模仿这种行为,并希望获得一些关于如何实现它或搜索什么的指导。
最佳答案
如果您正在寻找气泡 View 。您可以通过创建 android.text.style.DynamicDrawableSpan.ImageSpan
的子类来实现它,该子类会将 EditText
字符串的一部分转换为格式化的 span
.
这个 SO Question 会给你一些关于创建格式化跨度的基本概念。
This 是使用 spans
自定义 editext
的好教程。
要一次删除整个单词,您可以使用 SPAN_EXCLUSIVE_EXCLUSIVE 属性。
下面的代码将格式化字符串的前四个字符,希望这能给你一些提示。
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);
关于android - 如何将带有格式的文本添加到编辑文本中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14271410/