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

时间:2014-09-24 14:05:19

标签: android android-glide

我已将目前的项目从毕加索改为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在应用程序的其余部分正常工作,并加载了很好的远程图像。

2 个答案:

答案 0 :(得分:3)

适用于$role = $DB->get_record('role', array('shortname' => 'editingteacher')); $context = get_context_instance(CONTEXT_COURSE, $courseid); $teachers = get_role_users($role->id, $context);

TimeOfDay property所述,我遇到了这个问题。

答案 1 :(得分:0)

我更喜欢将图像放在原始目录而不是资产中,然后按如下所示构建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团队在samples repository中所做的事情。