0

グリッドビューにいくつかの画像を表示するために、このプロジェクトのuniversal-image-loaderを使用しています。しかし、これらの画像をいくつかの html で変更したいと思います (たとえば、各画像の下部に広告を追加します)。

ImageAdapter のメソッド getView で imageLoader.displayImage(..) を呼び出すと、画像が表示されることがわかりました。

どのアプローチが優れているかわかりません:

  • 画像と html を使用して webview を作成し、この webview をビットマップに変換するには、displayImage(...) にステップを追加しますか?

  • webview を作成し、displayeImage() に引数 webview を追加する ImageAdapter の getView を変更しますか?

  • ...

  • ...

私には選択肢がないと思います。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 に答える