我想在以下位置创建类似的东西EditText
:
它介于EditText
两者ImageSpans
之间。我使用BackgroundColorSpan
. 但是,我无法达到相同的效果。我希望跨度表现得像“一个角色”。意味着,当按下退格键时应该删除整个跨度,当你点击它们时,光标应该在跨度的前面或后面。我能够实现退格,但不是另一个。
因此,我尝试使用ImageSpan
它们按照我的意愿行事。但是,他们不显示文本。它们只显示一个彩色矩形。这是我正在使用的代码:
int start = editText.getText().length();
editText.append(textView.getText());
Spannable spannable = editText.getText();
ColorDrawable background = (ColorDrawable) textview.getBackground();
int colorId = background.getColor();
spannable.setSpan(new ImageSpan(background), start, editText.getText().length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
这textView
是相同颜色TextView
的相同文本。例如红色背景中的“Day (numeric)”。当用户单击任何 时textViews
,它将被添加到 editText 中,ImageSpan
与相同的文本和背景颜色相同。