2012-10-26 134 views
1

看来EditText可以使用Html.fromHtml获得有限的html格式,但添加图像时无法为其设置动画效果。使用动画GIF不起作用,动画列表只显示动画的第一帧。Android延伸EditText

如果这是可能的,我只是在做的过程中出现问题,请告诉我。

假设这是不可能的,我想扩展EditText并重写处理HTML的部分,以便启用动画。

可悲的是我不知道如何做到这一点,任何指针将不胜感激。

+0

你可以尝试与[this](https://github.com/hotveryspicy/ImageViewGIF)(不确定) –

+0

我回答了一个类似的问题,[在这里找到](http://stackoverflow.com /问题/ 8632801 /如何到添加动画,表情功能于TextView中 - 或 - EditText上合的Android/8632889#8632889)。虽然我设法得到了一个可行的概念证明,但这并不理想。但是,您可能能从我的发现中获得一些有用的信息/想法。 –

回答

1

第1步:创建您自己的ReplacementSpan子类,基于断DynamicDrawableSpanImageSpan,即处理其中DrawableAnimationDrawable并开始动画的情况。

第2步:取Spanned对象你从fromHtml()回来,转换的ImageSpan所有出现从步骤#1自定义跨度类的事件,通过寻找现有ImageSpan对象(getSpans()),删除它们(removeSpan() ),并添加替换(setSpan())。

步骤#3:祈祷它的工作,并不是一个巨大的性能猪。

+1

我喜欢'step#3'hahaha:D –

+0

我不确定第一步怎么做。创建ReplacmentSpan后,我是否需要重写draw()函数?或getDrawable()? – aviran

+0

@aviran:试试MH在你的问题评论中的链接代码。就个人而言,我从来没有尝试创建自己的'DynamicDrawableSpan',所以我不知道所有的细节。 – CommonsWare