作者Github
Glide是一個快速高效的Android圖檔加載庫,注重于平滑的滾動。支援拉取,解碼和展示視訊快照,圖檔,和GIF動畫。
雖然Glide 的主要目标是讓任何形式的圖檔清單的滾動盡可能地變得更快、更平滑,但實際上,Glide幾乎能滿足你對遠端圖檔的拉取/縮放/顯示的一切需求。
中文文檔
縮略圖
圖檔位址如果是uri則傳入uri位址,如果是檔案路徑,則傳入檔案路徑。最好是通過uri,因為高版本的android會慢慢舍棄掉檔案通路權限而導緻擷取不到檔案位址。
//圖檔
if (fileinfo.getFileUri() != null) {
Glide.with(mContext).load(fileinfo.getFileUri()).thumbnail(0.2f).into(holder.iv_fm_item_icon);
} else {
Glide.with(mContext).load(fileinfo.getFilePath()).thumbnail(0.2f).into(holder.iv_fm_item_icon);
//holder.iv_fm_item_icon.setImageResource(R.mipmap.file_explorer);
}
//視訊
if (fileinfo.getFileUri() != null) {
Glide.with(mContext).load(fileinfo.getFileUri()).into(holder.iv_fm_item_icon);
} else{
Glide.with(mContext).load(fileinfo.getFilePath()).into(holder.iv_fm_item_icon);
//holder.iv_fm_item_icon.setImageResource(R.mipmap.file_explorer);
}
加載圖檔到ImageView
Glide.with(this).load(url).into(imageView);
//本地圖檔
File file = new File(strpath); //strpath圖檔檔案路徑
Glide.with(this).load(file).into(mView.imgshow);
//資源檔案
int resource = R.drawable.logo;
Glide.with(this).load(resource).into(mView.imgshow);
//資料庫二進制流
byte[] img = cursor.getBlob(cursor.getColumnIndex("app_icon"));
Glide.with(this).load(img).into(mView.imgshow);
//Uri對象
Uri imgUri = getImageUri();
Glide.with(this).load(imgUri).into(mView.imgshow);
正常加載本地圖檔
FileInputStream fileInputStream = new FileInputStream(strPath);
Bitmap bitmap = BitmapFactory.decodeStream(fileInputStream);
mView.imageMvShow.setImageBitmap(bitmap);
占位圖
淡入淡出動畫效果
DrawableCrossFadeFactory crossFadeFactory = new DrawableCrossFadeFactory.Builder().setCrossFadeEnabled(true).build();
Glide.with(this)
.load(new File(strPath))
.transition(DrawableTransitionOptions.with(crossFadeFactory))
.into(mView.imageMvShow);