Android显示来自网络的图像,具有确切的大小

时间:2014-02-22 19:17:54

标签: android image universal-image-loader

我正在使用Universal Image Downloader来创建延迟加载列表视图。到目前为止,我已将height="200dp"设置为ImageView,但我想知道如何才能使ImageView height与实际图片height对应。

我正在努力实现与Facebook9gag应用相同的行为,即使图像尚未加载,ImageView已经具有高度。

我猜他们会将图片大小(宽度和高度)与条目数据一起发送,并使用它们调整ImageView 之前加载图片,但这只是一个猜测。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

使用wrapcontent对于imageview来说 机器人:layout_height = WRAP_CONTENT 机器人:layout_width = WRAP_CONTENT

答案 1 :(得分:0)

你可以使用这种方法。方法是returnig Rect obj。你可以从中获得图像高度宽度,你可以先将该高度设置为imageview,然后应用下载代码。

  private Rect getBitmapBounds(Uri uri) {
    Rect bounds = new Rect();
    InputStream is = null;

    try {
        is = context.getContentResolver().openInputStream(uri);
        BitmapFactory.Options options = new BitmapFactory.Options();
        options.inJustDecodeBounds = true;
        BitmapFactory.decodeStream(is, null, options);

        bounds.right = options.outWidth;
        bounds.bottom = options.outHeight;
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } finally {
        closeStream(is);
    }

    return bounds;
}

对于下载图片,此链接也有一些方法.. Follow the link