1

で次のようなものを作成したいEditText:

サンプル画像

それはEditTextImageSpansにあります。を使って作成しました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例: 赤の背景に「日 (数値)」。ユーザーがいずれかをクリックすると、同じテキストと背景色でtextViewseditText に追加されます。ImageSpan

4

0 に答える 0