繁体   English   中英

使用 Glide 库从应用程序资产加载图像

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM