TextView中的图像

问题描述:

1)如何改变/扩展TextView来渲染内嵌图像?TextView中的图像

看来,setText(Html.fromHtml(... image tags ...))可能实际上允许图像插入,如果设置正确,但我没有尝试过自己。即使如此,我仍然需要对图像绘制进行精细控制(我的最终目标是显示内嵌动画笑脸图像)。所以不幸的是,基于WebKit或类似的视图也不是一种选择。

2)作为一种替代解决方案,我想到了混合TextViews和ImageViews(或更具体地说,允许动画的自定义子类),但我不知道如何在那里实现正确的包装(我是相当新的Android的)。

+0

虽然这帖子老了; 'Html.fromHtml(... image tags ...)'方法可以在drawable中设置回调。对于想要支持动画绘制的客户端来说_ _ – Samuel 2011-02-14 06:59:51

本教程应该可以帮助您: http://techdroid.kbeanie.com/2010/06/textview-with-html-content.html

专门教程的这一部分...

static ImageGetter imgGetter = new Html.ImageGetter() { 
      @Override 
      public Drawable getDrawable(String source) { 
        Drawable drawable = null; 
        drawable = Drawable.createFromPath(source); // Or fetch it from the URL 
        // Important 
        drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable 
           .getIntrinsicHeight()); 
        return drawable; 
      } 
     }; 

编辑:找到另一个教程,我认为更整洁看了:http://androidjava.wordpress.com/2010/09/17/images-in-textview/

此文本是否需要进行编辑或只显示?另一个选择可能是在WebView中呈现您的内容,并使用直线html来布局文本/图像。

+0

(您可能在我编辑我的问题之前就已经回答了)理想情况下,它应该是可编辑的,但即使它不可编辑,WebView也太有限了。 WebView中不支持动画GIF。通过在画布上绘图(+ graphics.Movie)来动画GIF并不难。我只需要找到一种在TextView中获得此功能的方法,或者(如果我没有编辑能力)将TextView与(扩展的)ImageView以包装方式相结合。 – ixampal 2010-06-20 02:00:32