首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修改SpannableStringBuilder和DynamicLayout内部的可绘制性

修改SpannableStringBuilder和DynamicLayout内部的可绘制性
EN

Stack Overflow用户
提问于 2015-03-16 08:26:27
回答 1查看 278关注 0票数 0

我试图在SpannableStringBuilder中隐藏一个笑脸(在DynamicLayout中使用)。一开始我试过

代码语言:javascript
复制
ImageSpan[] spans = spannable.getSpans(0, length, ImageSpan.class);
spans[0].getDrawable().setAlpha(0);

它没有起作用。我也试过

代码语言:javascript
复制
ImageSpan[] spans = spannable.getSpans(0, length, ImageSpan.class);
spans[0].getDrawable().setVisible(false, true);

也没起作用。

下一段代码确实有效,但它没有保留可绘制的大小,因此笑脸周围的文本开始“跳跃”,这是不正确的。

代码语言:javascript
复制
ImageSpan[] spans = spannable.getSpans(0, length, ImageSpan.class);
spannable.removeSpan(spans[0]);

有可能,我可以重新绘制绘图,但这是一个昂贵的操作。为什么可绘制的更新不更新?我遗漏了什么?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-16 11:29:45

好的,在我的基本可绘制类中,我实现了setAlpha方法,在这个方法中,我更改了画图对象。之后,我重新验证了可绘制的视图。之后,执行我的drawable类中的draw方法,并更改alpha值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29072359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档