完全参考郭霖大神的技术贴,重新梳理并加强记忆。
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/53759439
用法
- 在app/build.gradle添加依赖
dependencies {
compile 'com.github.bumptech.glide:glide:3.7.0'
}
- Glide如果需要加载网络图片,需要在AndroidMainfest.xml中声明网络权限:
<uses-permission android:name="android.permission.INTERNET" />
加载常用类型图片
- 加载本地图片
File file = new File(getExternalCacheDir() + "/image.jpg");
Glide.with(this).load(file).into(imageView);
- 加载资源图片
int resource = R.mipmap.test;
Glide.with(this).load(resource).into(imageView);
- 加载网络图片
String url = "https://cloud.githubusercontent.com/assets/1190261/26751376/63f96538-486a-11e7-81cf-5bc83a945207.png";
Glide.with(this).load(url).into(imageView);
- 加载二进制流
byte[] image = getImageBytes();
Glide.with(this).load(image).into(imageView);
- 加载Uri对象
Uri imageUri = getImageUri();
Glide.with(this).load(imageUri).into(imageView);
占位图
加载网络图片的时候会存在延迟,为了优化用户体验,我们要先显示一张临时图片,等到图片加载完成之后在替换成需要加载的图片。
Glide.with(this)
.load(url)
.placeholder(R.drawable.loading)
.into(imageView);
如果因为某些异常情况导致图片加载失败,如网络断开等,这个时候显示这张一场占位图。
Glide.with(this)
.load(url)
.placeholder(R.drawable.loading)
.error(R.drawable.error)
.into(imageView);
可加载的图片格式
Glide除了加载普通静态图片之外,还有一个强大的功能就是可以加载GIF图,加载GIF时并不需要我们做其他操作,只需要把需要显示的GIF图地址替换上边加载图片的url,Glide自己会识别图片格式并正确的展示出来。
加载指定的图片格式
1.load()方法之后加上asBitmap(),表示这里只能加载静态图片,即使传入的url是GIF图也只会显示第一帧图片。
2.load()方法之后加上asGif(),表示这里只能加载GIF动图,如果传入了非GIF图,会出现加载失败的情况发生。
网友评论