Glide高级加载

来源:互联网 发布:淘宝店铺卖气模名字 编辑:程序博客网 时间:2024/05/01 07:45

在这篇文章中,将要介绍Glide如何从Android资源、文件和Uri中获取图片并加载。

从Res资源中加载

首先介绍从Android资源中加载。不同于上一节的String类型的网络URL,这里是一个Int型的的资源id。

int resourceId = R.mipmap.ic_launcher;Glide    .with(this)    .load(resourceId)    .into(imageViewResource);

虽然,你可以直接在ImageView的属性里添加这一资源。但是,如果你使用Glide这种更高级的方式进行动态转换,你的应用可以做得非常有趣。

从文件中加载

从资源文件加载,通常是固定的,当你让用户任意选择一张图片来显示的时候,这个文件的路径并非是开发人员预先设定的,从图片文件中加载对于实际应用将会非常有用。需要传递的参数也仅仅是一个文件对象.

举个栗子(不能吃哦):

File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "Running.jpg");Glide    .with(context)    .load(file)    .into(imageViewFile);

从Uri加载

最后介绍从Uri中加载图片,这里的请求跟上面的方法并无太大差异,直接看代码:

// 这个可以是任何Uri. 这里为了演示,我们只创建了一个指向桌面图标的UriUri uri = resourceIdToUri(this, R.mipmap.friends_sends_pictures_select_icon_selected);Glide      .with(this)      .load(uri)      .into(imageViewUri);

下面一个小的工具函数可以将资源id转换为一个Uri:

public static final String ANDROID_RESOURCE = "android.resource://";public static final String FOREWARD_SLASH = "/";private static Uri resourceIdToUri(Context context, int resourceId) {    return Uri.parse(ANDROID_RESOURCE + context.getPackageName() + FOREWARD_SLASH + resourceId);}

当然,Uri并不一定是从资源id中创建,它可以是任意Uri

菜鸟妹纸,写的垃圾,勿喷!

0 0
原创粉丝点击