0

SpannableStringBuilder(で使用されている)でスマイリーを非表示にしようとしていDynamicLayoutます。最初に私が試した

ImageSpan[] spans = spannable.getSpans(0, length, ImageSpan.class);
spans[0].getDrawable().setAlpha(0);

うまくいきませんでした。私も試しました

ImageSpan[] spans = spannable.getSpans(0, length, ImageSpan.class);
spans[0].getDrawable().setVisible(false, true);

どちらも機能しませんでした。

次のコードは機能しましたが、ドローアブルのサイズが保持されないため、スマイリーの周りのテキストが「ジャンプ」し始めます。これは正しくありません。

ImageSpan[] spans = spannable.getSpans(0, length, ImageSpan.class);
spannable.removeSpan(spans[0]);

ドローアブルを再描画できる可能性もありますが、コストのかかる操作です。ドローアブルが更新されないのはなぜですか? 私は何が欠けていますか?

前もって感謝します。

4

1 に答える 1