我试图在 a 中隐藏一个笑脸SpannableStringBuilder
(在 a 中使用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]);
潜在地,我可以重新绘制可绘制对象,但这是一项昂贵的操作。为什么drawable不更新?我错过了什么?
提前致谢。