で次のようなものを作成したい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
例: 赤の背景に「日 (数値)」。ユーザーがいずれかをクリックすると、同じテキストと背景色でtextViews
editText に追加されます。ImageSpan