3 回答
TA贡献1783条经验 获得超4个赞
试试
implementation 'com.github.bumptech.glide:glide:4.8.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'
演示
@GlideModule
public class FlickrGlideModule extends AppGlideModule {
@Override
public void applyOptions(@NonNull Context context, @NonNull GlideBuilder builder) {
super.applyOptions(context, builder);
builder.setDefaultRequestOptions(new RequestOptions().format(DecodeFormat.PREFER_ARGB_8888));
}
@Override
public void registerComponents(@NonNull Context context, @NonNull Glide glide,
@NonNull Registry registry) {
registry.append(Photo.class, InputStream.class, new FlickrModelLoader.Factory());
}
// Disable manifest parsing to avoid adding similar modules twice.
@Override
public boolean isManifestParsingEnabled() {
return false;
}
}
读 AppGlideModule
供参考
你的loadImage方法将是
public static void loadImage(Context ctx,RequestOptions glideRequests, String url, ImageView imageView) {
loadImage(ctx,glideRequests, url, imageView, DiskCacheStrategy.ALL);
}
public static void loadImage(Context ctx,RequestOptions glideRequests, String url, ImageView imageView, DiskCacheStrategy diskCacheStrategy) {
Glide.with(ctx)
.applyDefaultRequestOptions(requestOptions.placeholder(R.drawable.ic_stub).error(R.drawable.ic_stub))
.asBitmap()
.load(url).into(imageView);
}
然后
ImageUtil.loadImage(context,options,obj.getPhotoUrl(),avatarImageView);
TA贡献1853条经验 获得超18个赞
似乎正在进行很好的讨论。别担心。我有解决方案。
按照步骤:
添加依赖项如下(我使用的是最新版本)
implementation 'com.github.bumptech.glide:glide:4.8.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'
创建包(因为我一直使用结构化代码)myglide 并复制/粘贴以下类:
@GlideModule
public class SampleGlideModule extends AppGlideModule {
@Override
public void applyOptions(@NonNull Context context, @NonNull GlideBuilder builder) {
super.applyOptions(context, builder);
}
}
现在您可以按CTRL+F9或您可以单击菜单Make Project中的Build选项。它将自动生成一个文件(您可以通过按 CTRL 并将鼠标悬停在 File 中的 ClassName 上来查看。)
final class GeneratedAppGlideModuleImpl extends GeneratedAppGlideModule {
private final SampleGlideModule appGlideModule;
....
}
现在您可以非常轻松地使用GlideApp类。
如果您有任何错误,请随时与我联系。
希望它会帮助你。我一如既往地喜欢 Glide。<3
TA贡献1859条经验 获得超6个赞
尝试这个
进口Glide在增加的gradle这个
compile 'com.github.bumptech.glide:glide:3.8.0'
然后使用此代码
Glide.with(context)
.load(url)
.placeholder(R.drawable.ic_male)
.error(R.drawable.imagenotfound)
.listener(new RequestListener<String, GlideDrawable>() {
@Override
public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
// log exception
Log.e("TAG", handle error case", e);
return false;
}
@Override
public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
Log.e("TAG", handle success case here", e);
return false;
}
})
.into(avatarImageView);
添加回答
举报