Universal-Image-Loader源码阅读(8)-coreimageawareNonViewAware

    xiaoxiao2025-11-17  6

    imageaware的空实现,即没有包装任何view,用来显示图片。

    看注释,它的用途是用来处理图片的相关信息的,但不用来显示图片。

    即用在下载解析图片的但又不用显示的场景。

    源码:

    /** * ImageAware which provides needed info for processing of original image but do nothing for displaying image. It's * used when user need just load and decode image and get it in {@linkplain * com.nostra13.universalimageloader.core.listener.ImageLoadingListener#onLoadingComplete(String, android.view.View, * android.graphics.Bitmap) callback}. * * @author Sergey Tarasevich (nostra13[at]gmail[dot]com) * @since 1.9.0 */ public class NonViewAware implements ImageAware { protected final String imageUri; protected final ImageSize imageSize; protected final ViewScaleType scaleType; public NonViewAware(ImageSize imageSize, ViewScaleType scaleType) { this(null, imageSize, scaleType); } public NonViewAware(String imageUri, ImageSize imageSize, ViewScaleType scaleType) { if (imageSize == null) throw new IllegalArgumentException("imageSize must not be null"); if (scaleType == null) throw new IllegalArgumentException("scaleType must not be null"); this.imageUri = imageUri; this.imageSize = imageSize; this.scaleType = scaleType; } @Override public int getWidth() { return imageSize.getWidth(); } @Override public int getHeight() { return imageSize.getHeight(); } @Override public ViewScaleType getScaleType() { return scaleType; } @Override public View getWrappedView() { return null; } @Override public boolean isCollected() { return false; } @Override public int getId() { return TextUtils.isEmpty(imageUri) ? super.hashCode() : imageUri.hashCode(); } @Override public boolean setImageDrawable(Drawable drawable) { // Do nothing return true; } @Override public boolean setImageBitmap(Bitmap bitmap) { // Do nothing return true; } }

    转载请注明原文地址: https://ju.6miu.com/read-1304271.html
    最新回复(0)