3

Universal Image Loader ライブラリを使用して、インターネットから画像をダウンロードしています。

画像をロードする前に画像のサイズを取得して、レイアウトのベビーカーを希望の値に設定することはできますか?

財産のようなものinJustDecodeBounds、何かアイデアはありますか?

4

3 に答える 3

3

ドキュメントからの引用 @ https://github.com/nostra13/Android-Universal-Image-Loader

UILは正確なImageViewに必要なビットマップサイズをどのように定義しますか? 定義されたパラメータを検索しますか?

  1. ImageViewの実測幅と高さを取得します。

  2. android:layout_width および android:layout_height パラメータを取得します。

  3. android:maxWidth および/または android:maxHeight パラメータを取得します。

  4. 構成から最大幅および/または高さパラメーターを取得します (memoryCacheExtraOptions(int, int) オプション)。

  5. デバイス画面の幅および/または高さを取得します。

したがって、おおよその最大サイズがわかっている場合は、ImageView にandroid:layout_width|android:layout_heightまたはandroid:maxWidth|android:maxHeight パラメータを設定してみてください。このビューに必要なビットマップ サイズを正しく計算し、メモリを節約するのに役立ちます。

画像がダウンロードされる前に、画像の高さと幅を取得することはできません。イメージビューの高さと幅を設定できます。

于 2013-05-19T05:29:47.643 に答える
1

画像ファイルをBitMapオブジェクトにストリーミングします。次に、 と を使用getHeightgetWidthます。

それに応じてビューを調整し、それに描画BitMapします。

于 2013-05-19T05:27:53.557 に答える
0

画像が管理している場所からのものである場合は、各画像ファイル名を含む XML ファイル、または次のような一意の識別子を用意しないでください。

<?xml version="1.0">
<images>
    <image filename="image01.png">
        <attrs width="400" height="500"/>
    </image>
    <image filename="image02.png">
        <attrs width="700" height="450"/>
    </image>
</images>

このファイルを画像と同じ場所に保存し、最初にダウンロードします。次に、XML ファイルに格納されている幅と高さを使用して値を設定します。

注:「私の画像」と言ったように、それらがあなたの画像であるという仮定に基づいて答えてください。

于 2013-05-19T05:23:12.673 に答える