我试图在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]);有可能,我可以重新绘制绘图,但这是一个昂贵的操作。为什么可绘制的更新不更新?我遗漏了什么?
提前谢谢。
发布于 2015-03-16 11:29:45
好的,在我的基本可绘制类中,我实现了setAlpha方法,在这个方法中,我更改了画图对象。之后,我重新验证了可绘制的视图。之后,执行我的drawable类中的draw方法,并更改alpha值。
https://stackoverflow.com/questions/29072359
复制相似问题