Glide入门教程——2.高级加载

上一篇文章,我们一起了解了为何要使用Glide,并举了个简单栗子(从网络加载一张图片)。但这并不是Glide唯一支持的图片源。在这篇文章中,将要介绍Glide如何从Android资源、文件和Uri中获取图片并加载。

从Res资源中加载

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

int resourceId = R.mipmap.ic_launcher;

Glide
    .with(context)
    .load(resourceId)
    .into(imageViewResource);

如果你觉得R.mipmap.没见过, 这是Android的一个处理图标的新方法
虽然,你可以直接在ImageView的属性里添加这一资源。但是,如果你使用Glide这种更高级的方式进行动态转换,你的应用可以做得非常有趣。

从文件中加载

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

// this file probably does not exist on your device. However, you can use any file path, which points to an image file

File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "Running.jpg");

Glide
    .with(context)
    .load(file)
    .into(imageViewFile);

从Uri加载

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

// 这个可以是任何Uri. 这里为了演示,我们只创建了一个指向桌面图标的Uri

Uri uri = resourceIdToUri(context, R.mipmap.future_studio_launcher);

Glide
    .with(context)
    .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。

展望

基本的加载方法都已经介绍了。我们将会去探索一些更有趣的东西. 下一篇文章,将要介绍ListView和GridView中适配器的使用和用Glide进行缓存。



文/签到钱就到(简书作者)
原文链接:http://www.jianshu.com/p/a6b71bc00174
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值