使用 Glide将 URL 下载到一个ImageView非常容易:
ImageView
Glide .with(context) .load(getIntent().getData()) .placeholder(R.drawable.ic_loading) .centerCrop() .into(imageView);
我想知道我是否可以下载到一个Bitmap以及?我想下载一个原始位图,然后我可以使用其他工具进行操作。我已经浏览了代码,但不知道该怎么做。
Bitmap
确保您使用的是最新版本
implementation 'com.github.bumptech.glide:glide:4.10.0'
科特林:
Glide.with(this) .asBitmap() .load(imagePath) .into(object : CustomTarget<Bitmap>(){ override fun onResourceReady(resource: Bitmap, transition: Transition<in Bitmap>?) { imageView.setImageBitmap(resource) } override fun onLoadCleared(placeholder: Drawable?) { // this is called when imageView is cleared on lifecycle call or for // some other reason. // if you are referencing the bitmap somewhere else too other than this imageView // clear it here as you can no longer have the bitmap } })
位图大小:
如果要使用图像的原始大小,请使用上述默认构造函数,否则您可以将所需大小传递给位图
into(object : CustomTarget<Bitmap>(1980, 1080)
爪哇:
Glide.with(this) .asBitmap() .load(path) .into(new CustomTarget<Bitmap>() { @Override public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) { imageView.setImageBitmap(resource); } @Override public void onLoadCleared(@Nullable Drawable placeholder) { } });
老答案:
有 compile 'com.github.bumptech.glide:glide:4.8.0'及低于
compile 'com.github.bumptech.glide:glide:4.8.0'
Glide.with(this) .asBitmap() .load(path) .into(new SimpleTarget<Bitmap>() { @Override public void onResourceReady(Bitmap resource, Transition<? super Bitmap> transition) { imageView.setImageBitmap(resource); } });
对于compile 'com.github.bumptech.glide:glide:3.7.0'及以下
compile 'com.github.bumptech.glide:glide:3.7.0'
Glide.with(this) .load(path) .asBitmap() .into(new SimpleTarget<Bitmap>() { @Override public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) { imageView.setImageBitmap(resource); } });
现在您可能会看到警告SimpleTarget is deprecated
SimpleTarget is deprecated
原因:
弃用 SimpleTarget 的主要目的是警告您它诱使您破坏 Glide 的 API 契约的方式。具体来说,一旦 SimpleTarget 被清除,它不会强制您停止使用已加载的任何资源,这可能会导致崩溃和图形损坏。
SimpleTarget只要您确保在清除 imageView 后不使用位图,仍然可以使用。
SimpleTarget