github: https://github.com/bumptech/glide
中文文档: https://muyangmin.github.io/glide-docs-cn/
英文文档: https://bumptech.github.io/glide/
Glide是一个快速高效的Android图片加载库,注重于平滑的滚动。Glide提供了易用的API,高性能、可扩展的图片解码管道(decode pipeline),以及自动的资源池技术。
Glide 支持拉取,解码和展示视频快照,图片,和GIF动画。Glide的Api是如此的灵活,开发者甚至可以插入和替换成自己喜爱的任何网络栈。默认情况下,Glide使用的是一个定制化的基于HttpUrlConnection的栈,但同时也提供了与Google Volley和Square OkHttp快速集成的工具库。
2)具体实例
布局文件:
java文件:
总(以下为第一个网络加载的例子):
public class GlideActivity extends AppCompatActivity {
@BindView(R.id.txt)
TextView txt;
@BindView(R.id.img)
ImageView img;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_glide);
ButterKnife.bind(this);
init();
}
private void init() {
setTitle("Glide基本使用");
txt.setText("o(* ̄▽ ̄*)o……https");
Glide.with(this).load("https://c-ssl.duitang.com/uploads/item/201701/02/20170102225552_5LkKz.png").into(img);
// Glide.with(this).load(R.drawable.music).into(img);
}
}
效果图:
关键代码:
Glide.with(this).load("https://c-ssl.duitang.com/uploads/item/201701/02/20170102225552_5LkKz.png").into(img);
②drawable
关键代码:
Glide.with(this).load("R.drawable.music").into(img);
Glide.with(this).load(R.drawable.hihi).placeholder(R.drawable.music).into(img);//当hihi.gif没有加载出来的时候,先用music.jpg占位
③本地
关键代码:
String path =Environment.getExternalStorageDirectory()+"/boo.jpg";
File file = new File(path);
Uri uri = Uri.fromFile(file);
Glide.with(this).load(uri).into(img);
//这里的jpg可以是mp4,gif,png……小视频的话只能加载第一帧
④先加载缩略图
先加载本图片的缩略图:
Glide.with(this).load(R.drawable.hihi).thumbnail(0.1f).centerCrop().placeholder(R.drawable.music).into(img)
先建立一个缩略图对象:
DrawableRequestBuilder thumbnailRequest= Glide.with(this).load(R.drawable.music);
Glide.with(this).load(R.drawable.hihi).thumbnail(thumbnailRequest).centerCrop().placeholder(R.mipmap.ic_launcher).into(img);