一、先看下效果圖
二、用的是Glide圖片庫
1.build.gradle配置
api 'com.github.bumptech.glide:glide:4.1.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.1.1'
2.關鍵類ImageLoaderUtil
public class ImageLoaderUtil {
public static void loadCircular(@NonNull final ImageView imageView, @NonNull String uri,
@NonNull final Context context) {
Glide.with(context).load(uri).apply(new RequestOptions()
.error(R.drawable.ic_gf_default_photo) //加載失敗顯示的圖
.placeholder(R.drawable.ic_gf_default_photo) //佔位圖
.diskCacheStrategy(DiskCacheStrategy.ALL)
.circleCrop())
.into(imageView);
}
public static void loadCorners(@NonNull final ImageView imageView, @NonNull String uri,int radius,
@NonNull final Context context) {
Glide.with(context).load(uri).apply(new RequestOptions()
.error(R.drawable.ic_gf_default_photo)
.placeholder(R.drawable.ic_gf_default_photo)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.transform(new RoundedCorners(radius)))
.into(imageView);
}
public static void load(@NonNull final ImageView imageView, @NonNull String uri,
@NonNull final Context context) {
Glide.with(context).load(uri).apply(new RequestOptions()
.error(R.drawable.ic_gf_default_photo)
.placeholder(R.drawable.ic_gf_default_photo)
.diskCacheStrategy(DiskCacheStrategy.ALL))
.into(imageView);
}
public static void clear(Context context) {
Glide.get(context).clearDiskCache();
}
}
Glide也可顯示資源文件的圖片,本地file的圖片,還可以顯示gif。繼續拓展即可