使用ImageSpan图文混排,这个网上教程很多。把一个Drawable依附到CharSequence上面就可以了。要实现网上的动态表情的话,就要麻烦一点儿。首先用gif解析工具把一张gif解析成N张Bitmap和N个播放每张Bitmap时的delay值。接下来自己实现一个Drawable,里面根据时间点去更换Bitmap,就可以实现动态表情功能了。
发现有的gif解析算法有问题,解析出来的Bitmap背景会由透明变成黑的,后来更换了一个就好了。Android 3.版本上面,在图文混排时如果多张连续的图片之间没有文字的话,就会出现排版混乱的问题。搜索了半天,从下面这个贴子上面发现楼主提到了一个解决方案,但试过之后还是没有解决,希望看到这篇文章的高手可以指点一下。
在图片和图片之间加了一个空格。
http://android.bigresource.com/Android-ImageSpan-is-cut-off-incorrectly-aligned-1dFyTxELg.html