【问题标题】:How to define the dimension of required Image while calling volley ImageLoader method如何在调用 volley ImageLoader 方法时定义所需图像的尺寸
【发布时间】:2013-10-17 13:57:13
【问题描述】:

我正在使用 Volley 库在 ListView 中显示图像。由于图像的大小很大,所以缓存很早就填满了。 我正在使用以下方法在列表视图项目中显示图像:

holder.schemeImg.setImageUrl(imgUrl, mImageLoader);

在这里,我像这样初始化 Volley ImageLoader

mImageLoader = new ImageLoader(mRequestQueue, new BitmapLruCache(cacheSize));

一切正常,但我想在 ImageView 中显示图像之前调整图像大小。 我查看了 Volley 库,但没有找到任何可以完成我的任务的方法。

所以,请帮我解决这个问题。

【问题讨论】:

    标签: android android-intent android-listview android-volley


    【解决方案1】:

    您无需拨打其他电话。

    setImageUrl 检查 NetworkImageView 的大小并调整其大小以适合。

    但是,只有在您明确设置了大小时才会这样做,因此 wrap_content 和 fill_parent 将不起作用。

    只需使用您要使用的任何代码来设置所需的图像大小,并在调用 setImageUrl 之前设置 NetworkImageView 的大小

    【讨论】:

    • 我已将 NetworkImageView 的宽度和高度都设置为 300dp。但是当从网络加载后的图像显示不是 300dp 大小时。
    • 能否请您展示您是如何设置宽度和高度、比例类型和屏幕截图的。
    【解决方案2】:

    我在 layout.xml 中定义了大小限制以限制图像的最大大小和宽度,以便在 ListView 中显示小图像。

    <com.android.volley.toolbox.NetworkImageView
        android:id="@+id/messagePicture"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:visibility="visible"
        android:layout_gravity="left" />
    

    【讨论】:

    • 这里的问题是,如果您有很多 NetworkImageViews 并且您正在加载大图像(当您从 Internet 加载时,您永远不知道最终文件有多大),您最终可能会得到 @ 987654322@ 异常。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-21
    • 2011-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-24
    相关资源
    最近更新 更多