3

我正在使用通用图像加载器库从互联网下载我的图像。

是否可以在加载图像之前获取图像大小以将我的布局婴儿车设置为所需的值?

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 的近似最大尺寸,请尝试为 ImageView 设置 android:layout_width|android:layout_heightandroid: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 回答