/** * DrawableRequestBuilder 的通行配置 * @param ctx 上下文 * @param img ImageLoader封装器 * @param typeRequest url or resource * @param <T> String or Integer * @return DrawableRequestBuilder<T> */ private <T> DrawableRequestBuilder<T> getDrawableRequestBuilder(Context ctx, ImageLoader img, DrawableTypeRequest<T> typeRequest) { DrawableRequestBuilder<T> builder = typeRequest .placeholder(img.placeHolder) .error(img.errorHolder) .diskCacheStrategy(DiskCacheStrategy.ALL); // transform image type int transType = img.transType; if (transType == LoaderConfig.TRANS_CIRCLE) { builder = builder.transform(new GlideCircleTransform(ctx)); } else if (transType == LoaderConfig.TRANS_ROUND) { builder = builder.transform(new GlideRoundTransform(ctx)); } // SCALE type if (img.scaleType == LoaderConfig.SCALE_CENTER_CROP) { builder = builder.centerCrop(); } else if (img.scaleType == LoaderConfig.SCALE_FIT_CENTER) { builder = builder.fitCenter(); } return builder; }
@BindingAdapter(value = {"imageUrl", "defaultImg", "radius"}, requireAll = false) public static void setImage(ImageView imageView, String imageUrl, Drawable defaultImg, int radius) { DrawableRequestBuilder drawableTypeRequest = Glide.with(imageView.getContext()).load(imageUrl).crossFade(); if (defaultImg != null) { drawableTypeRequest.placeholder(defaultImg).error(defaultImg); } else { drawableTypeRequest.placeholder(R.drawable.bg_defautl_imageview).error(R.drawable.bg_defautl_imageview); } if (radius > 0) { drawableTypeRequest.bitmapTransform(new CenterCrop(imageView.getContext()), new RoundedCornersTransformation(imageView.getContext(), PixelUtil.dp2px(radius), 0)); } else { drawableTypeRequest.bitmapTransform(new CenterCrop(imageView.getContext())); } drawableTypeRequest.into(imageView); }
@Override public Object instantiateItem(final ViewGroup container, int position) { final PhotoView view = new PhotoView(ImageBrowserActivity.this); view.setScaleType(ImageView.ScaleType.FIT_CENTER); ImageFile file = mList.get(position); RequestManager requestManager = Glide.with(ImageBrowserActivity.this); DrawableRequestBuilder requestBuilder; if (file.getEditCount() > 0) { requestBuilder = requestManager.load(file.getEditedPath()) .signature(new StringSignature(file.getEditCount() + "")); } else { requestBuilder = requestManager.load(file.getPath()); } requestBuilder .crossFade() .placeholder(R.mipmap.ic_place_holder).into(view); container.addView(view); return view; }
@BindingAdapter({"imageAddress"}) public static void loadImage(final ImageView imageView, final String imageAddress) { if (imageAddress != null && imageAddress.startsWith("https://s3.amazonaws.com/bikedeboa/")) { Context context = imageView.getContext(); // Hopefully the thumbnail is already disk cached and no requests are made DrawableRequestBuilder<String> thumbnailRequest = Glide .with(context) .load(imageAddress.replace("images/", "images/thumbs/")) .diskCacheStrategy(DiskCacheStrategy.ALL) .override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL) .transform(new BlurTransformation(context)); Glide.with(context) .load(imageAddress) .thumbnail(thumbnailRequest) .crossFade() .diskCacheStrategy(DiskCacheStrategy.SOURCE) .priority(Priority.HIGH) .into(imageView); } }
/** * Using Glide to load image with round transform * * @param context {@link Context} * @param imageView {@link ImageView} * @param imagePath {@link String} * @param isRoundTransform {@link Boolean} */ public static void loadingImageWithRoundTransform(final Context context, final ImageView imageView, final String imagePath, final boolean isRoundTransform) { DrawableRequestBuilder<String> request = Glide.with(context) .load(imagePath) .placeholder(R.drawable.image_placeholder); if (isRoundTransform) { RoundedCornersTransformation transformation = new RoundedCornersTransformation(context, 50, 0, RoundedCornersTransformation.CornerType.ALL); request.bitmapTransform(transformation); } request.into(imageView); }
@Override public void onBindViewHolder(ViewHolder holder, int position) { GankBean gankBean = mData.get(position); holder.tvHomeGankTitle.setText(gankBean.desc); holder.tvHomeGankAuthor.setText(gankBean.who); holder.tvHomeGankDate.setText(DateUtils.formatDateDetailDay(DateUtils.parseStringToDate(gankBean.publishedAt))); if (gankBean.images != null && !gankBean.images.isEmpty()) { holder.ivHomeGankImg.setVisibility(View.VISIBLE); DrawableRequestBuilder<String> requestBuilder = Glide.with(mContext) .load(gankBean.images.get(0)+"?imageView2/0/w/400") .diskCacheStrategy(DiskCacheStrategy.SOURCE) .error(R.color.accent) .crossFade(); requestBuilder.into(holder.ivHomeGankImg); }else { holder.ivHomeGankImg.setVisibility(View.GONE); } }
public static void loadAvatar(Context context, ImageView view, @Nullable User user, @NotNull String url, int index, @Nullable OnLoadImageListener<User> l) { DrawableRequestBuilder<Integer> thumbnailRequest = Glide.with(context) .load(R.drawable.default_avatar) .override(128, 128) .transform(new CircleTransformation(context)) .diskCacheStrategy(DiskCacheStrategy.SOURCE); DrawableRequestBuilder<String> request = Glide.with(context) .load(url) .diskCacheStrategy(DiskCacheStrategy.SOURCE) .override(128, 128) .transform(new CircleTransformation(context)) .thumbnail(thumbnailRequest); if (l != null) { request.listener(new UserSaturationListener(context, view, user, index, l)); } request.into(view); }
public void load(final DrawableRequestBuilder request) { if (getWidth() > 0 && getHeight() > 0) { request.dontAnimate().into(new SimpleTarget<GlideDrawable>(getWidth(), getHeight()) { @Override public void onResourceReady(GlideDrawable resource, GlideAnimation<? super GlideDrawable> glideAnimation) { transition(resource); } }); } else { getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { load(request); getViewTreeObserver().removeOnGlobalLayoutListener(this); } }); } }
@Override public void onBindViewHolder(GiphyViewHolder holder, int position) { GiphyImage image = images.get(position); holder.modelReady = false; holder.image = image; holder.thumbnail.setAspectRatio(image.getGifAspectRatio()); holder.gifProgress.setVisibility(View.GONE); DrawableRequestBuilder<String> thumbnailRequest = Glide.with(context) .load(image.getStillUrl()); if (Util.isLowMemory(context)) { Glide.with(context) .load(image.getStillUrl()) .placeholder(new ColorDrawable(Util.getRandomElement(MaterialColor.values()).toConversationColor(context))) .diskCacheStrategy(DiskCacheStrategy.ALL) .into(holder.thumbnail); holder.setModelReady(); } else { Glide.with(context) .load(image.getGifUrl()) .thumbnail(thumbnailRequest) .placeholder(new ColorDrawable(Util.getRandomElement(MaterialColor.values()).toConversationColor(context))) .diskCacheStrategy(DiskCacheStrategy.ALL) .listener(holder) .into(holder.thumbnail); } }
private GenericRequestBuilder buildThumbnailGlideRequest(@NonNull Slide slide, @NonNull MasterSecret masterSecret) { @SuppressWarnings("ConstantConditions") DrawableRequestBuilder<DecryptableUri> builder = Glide.with(getContext()) .load(new DecryptableUri(masterSecret, slide.getThumbnailUri())) .diskCacheStrategy(DiskCacheStrategy.NONE) .crossFade() .transform(new RoundedCorners(getContext(), true, radius, backgroundColorHint)); if (slide.isInProgress()) return builder; else return builder.error(R.drawable.ic_missing_thumbnail_picture); }
public DrawableRequestBuilder<GlideDrawable> build() { //noinspection unchecked return createBaseRequest(requestManager, song, ignoreMediaStore) .diskCacheStrategy(DEFAULT_DISK_CACHE_STRATEGY) .error(DEFAULT_ERROR_IMAGE) .animate(DEFAULT_ANIMATION) .signature(createSignature(song)); }
@Override public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) { ImageThumbnailHolder viewHolder = (ImageThumbnailHolder) holder; ImageFile file = mSelectedThumbnailList.get(position); RequestManager requestManager = Glide.with(ImageBrowserActivity.this); DrawableRequestBuilder requestBuilder; if (file.getEditCount() > 0) { requestBuilder = requestManager.load(file.getEditedPath()) .signature(new StringSignature(file.getEditCount() + "")); } else { requestBuilder = requestManager.load(file.getPath()); } requestBuilder.centerCrop() .crossFade() .placeholder(R.mipmap.ic_place_holder).into(viewHolder.imageView); if (mList.get(mCurrentIndex).getId() == file.getId()) { viewHolder.ivBlock.setVisibility(View.VISIBLE); } else { viewHolder.ivBlock.setVisibility(View.GONE); } if (mIsPreview) { viewHolder.shadow.setVisibility(file.isSelected() ? View.GONE : View.VISIBLE); } viewHolder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mViewPager.setCurrentItem(Integer.valueOf(mSelectedPosition.get(position)), false); mRecyclerView.scrollToPosition(position); } }); }
/** * Uses Glide to load image into an ImageView * * @param weakRef the {@link WeakReference} of a given subclass of {@link Context} * @param params the {@link GlideTaskParams} */ public static <CTX extends Context, T extends ImageView> void loadImage(@NonNull WeakReference<CTX> weakRef, @NonNull GlideTaskParams<T> params) { if (!AbstractWeakReferenceUtils.isAlive(weakRef)) { return; } DrawableRequestBuilder<String> requestBuilder = Glide.with(weakRef.get()).load(params.getPath()) .diskCacheStrategy(DiskCacheStrategy.ALL); load(applyDimens(requestBuilder, params), params); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_expand_image); ActionBar actionBar = getSupportActionBar(); actionBar.hide(); Bundle extras = getIntent().getExtras(); int rackId = 0; if (extras != null) { rackId = extras.getInt(RACK_ID); } else { // Something's not right, finish this activity this.finish(); } DetailViewModel detailViewModel = new DetailViewModel(rackId, this); PhotoView photoView = (PhotoView) findViewById(R.id.photo_view); // Request cached thumbnail DrawableRequestBuilder<String> thumbnailRequest = Glide .with(this) .load(detailViewModel.getImage().replace("images/", "images/thumbs/")) .diskCacheStrategy(DiskCacheStrategy.ALL) .override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL) .transform(new BlurTransformation(this)); Glide.with(this) .load(detailViewModel.getImage()) .thumbnail(thumbnailRequest) .crossFade() .diskCacheStrategy(DiskCacheStrategy.SOURCE) .priority(Priority.HIGH) .into(photoView); }
public DrawableRequestBuilder<GlideDrawable> build() { //noinspection unchecked return createBaseRequest(requestManager, artist, noCustomImage, forceDownload) .diskCacheStrategy(DEFAULT_DISK_CACHE_STRATEGY) .error(DEFAULT_ERROR_IMAGE) .animate(DEFAULT_ANIMATION) .priority(Priority.LOW) .override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL) .signature(createSignature(artist)); }
/** * 下载图片转换圆角 * @param context * @param imageRes * @param view * @param radius 圆角度 */ public static void loadAdapterRadius(Context context, String imageRes, ImageView view,int radius){ DrawableRequestBuilder requestBuilder = Glide.with(context) .load(imageRes) .centerCrop() .crossFade() .transform(new GlideRoundTransform(context, radius)) .diskCacheStrategy(DiskCacheStrategy.ALL); requestBuilder.into(view); }
/** * 下载图片转换圆角 * @param context * @param imageRes * @param view * @param radius */ public static void loadAdapterRadius(Context context, @DrawableRes int imageRes, ImageView view, int radius){ DrawableRequestBuilder requestBuilder = Glide.with(context) .load(imageRes) .centerCrop() .crossFade() .transform(new GlideRoundTransform(context, radius)) .diskCacheStrategy(DiskCacheStrategy.ALL); requestBuilder.into(view); }
private static DrawableRequestBuilder<String> loadRegularPhoto(Context context, ImageView view, Photo photo, int index, boolean saturation, boolean execute, @Nullable OnLoadImageListener<Photo> l) { if (photo != null && photo.urls != null && photo.width != 0 && photo.height != 0) { DrawableRequestBuilder<String> thumbnailRequest = Glide .with(context) .load(photo.urls.thumb) .diskCacheStrategy(DiskCacheStrategy.SOURCE) .listener(new SetEnableListener(view)); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP && !photo.hasFadedIn && saturation) { AnimUtils.ObservableColorMatrix matrix = new AnimUtils.ObservableColorMatrix(); matrix.setSaturation(0); view.setColorFilter(new ColorMatrixColorFilter(matrix)); } view.setEnabled(false); DrawableRequestBuilder<String> regularRequest = Glide .with(context) .load(photo.getRegularSizeUrl(context)) .diskCacheStrategy(DiskCacheStrategy.SOURCE) .override(photo.getRegularWidth(), photo.getRegularHeight()) .thumbnail(thumbnailRequest) .animate(new FadeAnimator()); if (l != null && saturation) { regularRequest.listener(new PhotoSaturationListener(context, view, photo, index, l)); } else if (l != null) { regularRequest.listener(new BaseRequestListener<Photo, String, GlideDrawable>(photo, 0, l)); } if (execute) { regularRequest.into(view); } return regularRequest; } return null; }
public static void loadResourceImage(Context context, ImageView view, int resId, @Nullable BitmapTransformation transformation) { DrawableRequestBuilder<Integer> request = Glide .with(context) .load(resId) .dontAnimate() .diskCacheStrategy(DiskCacheStrategy.SOURCE); if (transformation != null) { request.transform(transformation); } request.into(view); }
public static void loadImageFromUrl(Context context, ImageView view, String url, boolean lowPriority, @Nullable OnLoadImageListener<String> l) { DrawableRequestBuilder<String> request = Glide .with(context) .load(url) .diskCacheStrategy(DiskCacheStrategy.SOURCE); if (lowPriority) { request.priority(Priority.LOW); } if (l != null) { request.listener(new BaseRequestListener<String, String, GlideDrawable>(url, 0, l)); } request.into(view); }
private void bindLibrary(final LibraryHolder holder, final Library lib) { holder.name.setText(lib.name); holder.description.setText(lib.description); DrawableRequestBuilder<String> request = Glide.with(holder.image.getContext()) .load(lib.imageUrl) .placeholder(R.drawable.avatar_placeholder); if (lib.circleCrop) { request.transform(circleCrop); } request.into(holder.image); }
@Override public void display(Context context, String path, ImageView imageView, Drawable defaultDrawable, Bitmap.Config config, boolean resize, int width, int height) { DrawableRequestBuilder builder = Glide.with(context) .load(new File(path)) .placeholder(defaultDrawable); if (resize) { builder = builder.override(width, height); } builder.crossFade() .diskCacheStrategy(DiskCacheStrategy.NONE) .into(imageView); }
@Override public void displayCenterCrop(Context context, String path, ImageView imageView, Drawable defaultDrawable, Bitmap.Config config, boolean resize, int width, int height) { DrawableRequestBuilder builder = Glide.with(context) .load(new File(path)) .placeholder(defaultDrawable); if (resize) { builder = builder.override(width, height); } builder.crossFade() .centerCrop() .diskCacheStrategy(DiskCacheStrategy.NONE) .into(imageView); }
public static DrawableRequestBuilder<String> urlNoPlaceHolder(Context context, String url) { return Glide.with(context) .fromString() .load(url) // .placeholder(R.drawable.placeholder); // .error(R.drawable.error) // .animate(R.anim.my_fancy_anim) ; }
/** * 普通图片显示 */ private static DrawableRequestBuilder<String> baseGlide(ImageView iv, String key){ return Glide.with(iv.getContext()) .load(key) .crossFade(150) .diskCacheStrategy(DiskCacheStrategy.SOURCE) .placeholder(getRandomColor()); }
private GenericRequestBuilder buildThumbnailGlideRequest(@NonNull Slide slide, @NonNull MasterSecret masterSecret) { @SuppressWarnings("ConstantConditions") DrawableRequestBuilder<DecryptableUri> builder = Glide.with(getContext()).load(new DecryptableUri(masterSecret, slide.getThumbnailUri())) .crossFade() .transform(new RoundedCorners(getContext(), true, radius, backgroundColorHint)); if (slide.isInProgress()) return builder; else return builder.error(R.drawable.ic_missing_thumbnail_picture); }
private void attachCover(ViewHolder holder, Content content) { DrawableRequestBuilder<String> thumb = Glide.with(cxt).load(content.getCoverImageUrl()); String coverFile = FileHelper.getThumb(cxt, content); holder.ivCover.layout(0, 0, 0, 0); Glide.with(cxt) .load(coverFile) .fitCenter() .placeholder(R.drawable.ic_placeholder) .error(R.drawable.ic_placeholder) .thumbnail(thumb) .into(holder.ivCover); }
private void loadImageThumbnailRequest() { DrawableRequestBuilder<String> thumbnailRequest = Glide .with(context) .load(eatFoodyImages[2]) .skipMemoryCache(true) .diskCacheStrategy(DiskCacheStrategy.NONE); Glide .with(context) .load(UsageExampleGifAndVideos.gifUrl) .skipMemoryCache(true) .diskCacheStrategy(DiskCacheStrategy.NONE) .thumbnail(thumbnailRequest) .into(imageView3); }
/** * Load an image from a url into an ImageView using the default placeholder * drawable if available. * @param url The web URL of an image. * @param imageView The target ImageView to load the image into. * @param requestListener A listener to monitor the request result. * @param placeholderOverride A drawable to use as a placeholder for this specific image. * If this parameter is present, {@link #mPlaceHolderResId} * if ignored for this request. */ public void loadImage(String url, ImageView imageView, RequestListener<String> requestListener, Drawable placeholderOverride, boolean crop) { DrawableRequestBuilder<String> request = beginImageLoad(url, requestListener, crop) .animate(R.anim.image_fade_in); if (placeholderOverride != null) { request.placeholder(placeholderOverride); } else if (mPlaceHolderResId != -1) { request.placeholder(mPlaceHolderResId); } request.into(imageView); }
@Override public void loadImage(Context ctx, GlideImageConfig config) { if (ctx == null) throw new IllegalStateException("Context is required"); if (config == null) throw new IllegalStateException("GlideImageConfig is required"); if (TextUtils.isEmpty(config.getUrl())) throw new IllegalStateException("url is required"); if (config.getImageView() == null) throw new IllegalStateException("imageview is required"); RequestManager manager; manager = Glide.with(ctx);//如果context是activity则自动使用Activity的生命周期 DrawableRequestBuilder<String> requestBuilder = manager.load(config.getUrl()) .crossFade() .centerCrop(); switch (config.getCacheStrategy()) {//缓存策略 case 0: requestBuilder.diskCacheStrategy(DiskCacheStrategy.ALL); break; case 1: requestBuilder.diskCacheStrategy(DiskCacheStrategy.NONE); break; case 2: requestBuilder.diskCacheStrategy(DiskCacheStrategy.SOURCE); break; case 3: requestBuilder.diskCacheStrategy(DiskCacheStrategy.RESULT); break; } if (config.getTransformation() != null) {//glide用它来改变图形的形状 requestBuilder.transform(config.getTransformation()); } if (config.getPlaceholder() != 0)//设置占位符 requestBuilder.placeholder(config.getPlaceholder()); if (config.getErrorPic() != 0)//设置错误的图片 requestBuilder.error(config.getErrorPic()); requestBuilder .into(config.getImageView()); }
@Override public void loadImage(Context ctx, GlideImageConfig config) { if (ctx == null) throw new IllegalStateException("Context is required"); if (config == null) throw new IllegalStateException("GlideImageConfig is required"); //这里不抛异常空的就显示默认图片 // if (TextUtils.isEmpty(config.getUrl())) throw new IllegalStateException("url is required"); if (config.getImageView() == null) throw new IllegalStateException("imageview is required"); RequestManager manager; manager = Glide.with(ctx);//如果context是activity则自动使用Activity的生命周期 DrawableRequestBuilder<String> requestBuilder = manager.load(config.getUrl()) .centerCrop(); if (config.fitCenter()) { requestBuilder.fitCenter(); } if (config.dontAnimation()) { requestBuilder.dontAnimate(); } else { requestBuilder.crossFade(); } switch (config.getCacheStrategy()) {//缓存策略 case 0: requestBuilder.diskCacheStrategy(DiskCacheStrategy.ALL); break; case 1: requestBuilder.diskCacheStrategy(DiskCacheStrategy.NONE); break; case 2: requestBuilder.diskCacheStrategy(DiskCacheStrategy.SOURCE); break; case 3: requestBuilder.diskCacheStrategy(DiskCacheStrategy.RESULT); break; } if (config.getTransformation() != null) {//glide用它来改变图形的形状 requestBuilder.transform(config.getTransformation()); } //设置占位符 if (config.getPlaceholder() != null) { requestBuilder.placeholder(config.getPlaceholder()); } else if (config.getPlaceholderResId() != 0) { requestBuilder.placeholder(config.getPlaceholderResId()); } if (config.getErrorPic() != 0)//设置错误的图片 requestBuilder.error(config.getErrorPic()); requestBuilder.skipMemoryCache(config.skipMemoryCache()); requestBuilder.into(config.getImageView()); }
/** * load image with Glide */ private void loadNetCache(Context ctx, ImageLoader img) { DrawableTypeRequest<String> urlTypeRequest = getUrlTypeRequest(ctx, img); DrawableRequestBuilder<String> builder = getDrawableRequestBuilder(ctx, img, urlTypeRequest); builder.crossFade(LoaderConfig.DEFAULT_DURATION_MS).into(img.imgView); }
/** * load resource image with Glide */ private void loadResource(Context ctx, ImageLoader img) { DrawableTypeRequest<Integer> resTypeRequest = getResTypeRequest(ctx, img); DrawableRequestBuilder<Integer> builder = getDrawableRequestBuilder(ctx, img, resTypeRequest); builder.crossFade(LoaderConfig.DEFAULT_DURATION_MS).into(img.imgView); }
@Override public void loadImage(Context ctx, GlideImageConfig config) { RequestManager manager; if (ctx instanceof Activity)//如果是activity则可以使用Activity的生命周期 manager = Glide.with((Activity) ctx); else manager = Glide.with(ctx); DrawableRequestBuilder<String> requestBuilder = manager.load(config.getUrl()) .crossFade() .centerCrop(); switch (config.getCacheStrategy()) {//缓存策略 case 0: requestBuilder.diskCacheStrategy(DiskCacheStrategy.ALL); break; case 1: requestBuilder.diskCacheStrategy(DiskCacheStrategy.NONE); break; case 2: requestBuilder.diskCacheStrategy(DiskCacheStrategy.SOURCE); break; case 3: requestBuilder.diskCacheStrategy(DiskCacheStrategy.RESULT); break; } if (config.getTransformation() != null) {//glide用它来改变图形的形状 requestBuilder.transform(config.getTransformation()); } if (config.getPlaceholder() != 0)//设置占位符 requestBuilder.placeholder(config.getPlaceholder()); if (config.getErrorPic() != 0)//设置错误的图片 requestBuilder.error(config.getErrorPic()); requestBuilder .into(config.getImageView()); }
@Override public void load(Context context, GlideImageConfig config) { this.check(context, config); RequestManager manager = Glide.with(context); DrawableRequestBuilder<String> requestBuilder = manager.load(config.getUrl()) .diskCacheStrategy(DiskCacheStrategy.ALL) .crossFade()// 默认显示淡入淡出动画 ; // 缓存策略 switch (config.getCacheStrategy()) { case 0: requestBuilder.diskCacheStrategy(DiskCacheStrategy.ALL); break; case 1: requestBuilder.diskCacheStrategy(DiskCacheStrategy.NONE); break; case 2: requestBuilder.diskCacheStrategy(DiskCacheStrategy.SOURCE); break; case 3: requestBuilder.diskCacheStrategy(DiskCacheStrategy.RESULT); break; } // 改变图形的形状 if (config.getTransformation() != null) { requestBuilder.transform(config.getTransformation()); } // 设置占位符 if (config.getPlaceholder() != 0) { requestBuilder.placeholder(config.getPlaceholder()); } // 设置错误的图片 if (config.getError() != 0) { requestBuilder.error(config.getError()); } requestBuilder.into(config.getImageView()); }