我使用glide 4.6.1将图像加载到图像视图中但它失败了。以前我使用Glide 3.6.0在imageview中加载图像。滑动版本3.6.0工作正常,并从URL完美加载图像。为了使其在Glide 3.6.0中运行,我遵循了本文android:load svg file from web and show it on image view。但是,滑动4.6.1未在图像视图中加载 SVG 图像并给出异常。
我的代码是:
field = (EditText)findViewById(R.id.field);
官方Glide Github也展示了这个例子我也在关注那篇文章https://github.com/bumptech/glide/tree/master/samples/svg/src/main/java/com/bumptech/glide/samples/svg。
我得到的例外是:
requestBuilder = GlideApp.with(context)
.as(PictureDrawable.class)
.listener(new SvgSoftwareLayerSetter());
requestBuilder.load(uri).into(imageview);
有没有办法让Glide 4.6.1以类似于Glide 3.6.0的方式加载SVG?
答案 0 :(得分:1)
是的,解决方案是缺少来自SvgModule Class的@GlideModule。所以它应该是:
**@GlideModule** //was missing this
public class SvgModule extends AppGlideModule {
@Override
public void registerComponents(@NonNull Context context, @NonNull Glide glide,
@NonNull Registry registry) {
registry.register(SVG.class, PictureDrawable.class, new SvgDrawableTranscoder())
.append(InputStream.class, SVG.class, new SvgDecoder());
}
// Disable manifest parsing to avoid adding similar modules twice.
@Override
public boolean isManifestParsingEnabled() {
return false;
}
}