前言
利用ImageSpan实现TextView的图文混排的教程数不胜数,但是当的ImageSpan中的drawable是一张动图的时候,却往往发现这张图并没有像预期一样动起来。
我在做聊天功能的时候也碰到了这个问题,网上搜索半天,大体的思路倒是有了,不过并没有发现一个较为全面和完整的总结及代码实现。
于是自己写了一个使用极其简单的方法并分析总结一下实现的思路以及实现过程中碰到的坑,好让要做同样功能的同学少走弯路。
ScreenShot
emojiSp.gif
解决方案
先上解决方案,有兴趣的可以继续往下看我的分析
使用其中GifTextUtil.setText(TextView textView,CharSequence text)代替TextView的setText
GifTextUtil.setText方法会将TextView和包含动图的Spannable字符串绑定并在动图刷新时刷新TextView以实现gif的图文混排
重要说明
这段代码功能只是帮助有gif图文混排的TextView设置回调使其动起来,至于如何利用Glide或者GifDrawable产生一个可以动的drawable,请看一行代码让TextView中ImageSpan支持Gif(三)
个人能力有限,一行代码实现不了drawable