0

我正在使用这个项目universal-image-loader来在gridview中显示几个图像。但我想用一些 html 来修改这些图片(例如在每张图片的底部添加广告)。

我看到图像是通过在 ImageAdapter 的 getView 方法中调用 imageLoader.displayImage(..) 来显示的。

我不知道哪种方法更好:

  • 在 displayImage(...) 中添加一个步骤,以便使用我的图像和 html 创建一个 webview 并将这个 webview 转换为位图?

  • 修改 ImageAdapter 的 getView,它将创建 webview 并在 displayeImage() 中添加参数 webview?

  • ...

  • ...

我想我别无选择,我必须使用 webview。

此外,在 ImageLoader.java 的 displayImage() 方法中,我不明白图像的加载位置,我想这是在这一行的某个地方,但是当我查看这些方法时,我找不到/理解

    ImageSize targetSize = getImageSizeScaleTo(imageView);
    String memoryCacheKey = MemoryCacheUtil.generateKey(uri, targetSize);
    cacheKeysForImageViews.put(imageView.hashCode(), memoryCacheKey);
    Bitmap bmp = configuration.memoryCache.get(memoryCacheKey);

(如何从 uri 和 ImageSize 构建的字符串中获得位图?图像在哪里?)

4

1 回答 1

1

图像是异步加载的。所以你的代码片段只是复杂逻辑的顶部。主要工作是在LoadAndDisplayTask课堂上完成的,但你不需要碰它。

对于您的情况,您可以创建自己的BitmapDisplayer

  • 创建 BitmapDisplayer 实现
  • 实现Bitmap display(Bitmap bitmap, ImageView imageView)方法
  • 在这种方法中,您可以根据需要处理传入的位图
  • 在 ImageView 中设置结果位图并返回结果

将您的 BitmapDisplayer 设置为配置。

于 2012-12-15T18:06:27.740 回答