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