[英]Loading images from application assets with Glide library
我已经将我当前的项目从 Picasso 切换到 Glide。 但是,我无法从应用程序资产加载图像。 这甚至可能吗?
示例代码:
String assetPath = "file:///android_asset/flags/FR.jpg";
Glide.with(getContext())
.load(Uri.parse(assetPath))
.placeholder(missingFlagDrawable)
.centerCrop()
.crossFade()
.into(flag);
我也尝试过 load(String) 方法但没有成功,我没有看到加载方法采用例如我可以通过 AssetManager 类获得的 InputStream 或 FileDescriptor。
完全相同的代码在毕加索工作。
Glide 在应用程序的其余部分工作正常,并能很好地加载远程图像。
与Glide.with(xxx).load(xxx).asBitmap()
正如我在遇到该问题时打开的GitHub 问题中所述。
我更喜欢将图像放在原始目录而不是资产中,然后按如下方式构建 de uri:
fun setImageFromRaw(imageView: ImageView, rawId: Int) {
val context = imageView.context
val uri = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://" + context.packageName + "/" + rawId)
GlideApp.with(context).load(uri).into(imageView)
}
这个选项是基于 Glide 的团队在示例存储库中所做的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.