Android TextView 显示网络图片,点击放大

最近在做一个 android app 的应用,一个很简单的应用。

要在 TextView 中显示从网络上获取的内容,内容是HTML格式,在网上查了资料,发现用“Html.fromHtml()”方法可以生成一个支持HTML的文本对象,在这个方法中可以实现“ImageGetter”接口来处理图片,在 TextView 中显示网络图片,网上有很多讲解,但我想要让 TextView 中的图片可以点击放大,再查询网络,发现“TagHandler”接口可以处理HTML标签,通过重写这个方法,可以实现对自订标签的支持和点击事件。

但不知道如何获取标签中的内容,后来通过不断的查询资料,得知从 Editable 中获取一个 Span 对象数组,然后可以通过相应的 Span 来获取相应的资料。有了思路,马上写代码测试,完全可行。

TextView 中监听图片点击事件,实现图片点击放大,我在网上找过很多资料,有很多地方说不可以实现,我就通过反编译QQ的APP来查看,发现也是通过 TextView 来实现的,因此才继续找相关的代码示例。最终在一个示例中处理URL的事件看到一个“UrlSpan”,我才会去想是不是也有一个“ImageSpan”呢,在 Eclipse 中输入“ImageSpan”,果然有这个类,最终才解决这个问题。

在这里贴出示例代码(点击下载:TextView-TEST),希望可以帮到也同样遇到此问题的朋友。

图片未加载完前的显示。图片加载完成后显示。