如何使用 Glide 将 svg 图像加载到图像视图
How to load svg image to image view using Glide
我在这个 URL 中有一张 SVG
图片。 svg image link
.我想将此 SVG
图像从 url
加载到 image view
。我已使用 Glide
将此 SVG
图像加载到 image view
。
这是滑行代码:
Glide.with( context)
.setDefaultRequestOptions(new RequestOptions().timeout(60000))
.load( "https://restcountries.eu/data/zwe.svg" )
.thumbnail( 0.5f )
.override( 200, 200 )
.diskCacheStrategy( DiskCacheStrategy.ALL )
.listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
progressLayout.setVisibility(View.GONE);
return false;
}
@Override
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
progressLayout.setVisibility(View.GONE);
flag_iv.setEnabled(true);
return false;
}
})
.into( flag_iv );
XML代码:
<ImageView
android:src="@drawable/icon_app"
android:id="@+id/flag_iv"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
/>
但是没有加载。它显示以下错误。
W/Glide: Load failed for https://restcountries.eu/data/afg.svg with size [100x100]
我使用 Glide
使用了 png/jpg
个图像。效果很好。为什么 SVG
图像没有使用 Glide 加载。我搜索了堆栈溢出。每个人都建议不同的图书馆。但是它们已经过时了。我想使用 Glide
来实现它。请帮我解决一些问题。
您可以使用滑行到矢量,
回购:https://github.com/corouteam/GlideToVectorYou
要将 svg 加载到图像视图中,您可以使用:
GlideToVectorYou
.init()
.with(this)
.withListener(new GlideToVectorYouListener() {
@Override
public void onLoadFailed() {
Toast.makeText(context, "Load failed", Toast.LENGTH_SHORT).show()
}
@Override
public void onResourceReady() {
Toast.makeText(context, "Image ready", Toast.LENGTH_SHORT).show()
}
})
.setPlaceHolder(placeholderLoading, placeholderError)
.load(IMAGE_URL, imageview);
我在这个 URL 中有一张 SVG
图片。 svg image link
.我想将此 SVG
图像从 url
加载到 image view
。我已使用 Glide
将此 SVG
图像加载到 image view
。
这是滑行代码:
Glide.with( context)
.setDefaultRequestOptions(new RequestOptions().timeout(60000))
.load( "https://restcountries.eu/data/zwe.svg" )
.thumbnail( 0.5f )
.override( 200, 200 )
.diskCacheStrategy( DiskCacheStrategy.ALL )
.listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
progressLayout.setVisibility(View.GONE);
return false;
}
@Override
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
progressLayout.setVisibility(View.GONE);
flag_iv.setEnabled(true);
return false;
}
})
.into( flag_iv );
XML代码:
<ImageView
android:src="@drawable/icon_app"
android:id="@+id/flag_iv"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
/>
但是没有加载。它显示以下错误。
W/Glide: Load failed for https://restcountries.eu/data/afg.svg with size [100x100]
我使用 Glide
使用了 png/jpg
个图像。效果很好。为什么 SVG
图像没有使用 Glide 加载。我搜索了堆栈溢出。每个人都建议不同的图书馆。但是它们已经过时了。我想使用 Glide
来实现它。请帮我解决一些问题。
您可以使用滑行到矢量,
回购:https://github.com/corouteam/GlideToVectorYou
要将 svg 加载到图像视图中,您可以使用:
GlideToVectorYou
.init()
.with(this)
.withListener(new GlideToVectorYouListener() {
@Override
public void onLoadFailed() {
Toast.makeText(context, "Load failed", Toast.LENGTH_SHORT).show()
}
@Override
public void onResourceReady() {
Toast.makeText(context, "Image ready", Toast.LENGTH_SHORT).show()
}
})
.setPlaceHolder(placeholderLoading, placeholderError)
.load(IMAGE_URL, imageview);