Glide 图片加载工具类
来源:互联网 发布:韩顺平java水平如何 编辑:程序博客网 时间:2024/05/17 09:44
写一个工具类以后自己用 ,有需要的朋友自己拿 ,项目没有用那么多,就写了一部分,剩下的需要自己取消注释,还比较全,
Build.gradle
compile 'com.github.bumptech.glide:glide:3.7.0'
package com.cdl.imagelocder;import android.content.Context;import android.net.Uri;import android.widget.ImageView;import com.bumptech.glide.Glide;import com.bumptech.glide.load.engine.DiskCacheStrategy;import com.cdl.R;import java.io.File;/** * cdl 图片加载类 */public class ImageLoader { /*** * 加载通用de网络图片 * @param context * @param imageUrl * @param imageView */ public static void loadImage(Context context, String imageUrl, ImageView imageView) { loadImagePlaceholder(context, R.mipmap.ic_launcher, imageUrl, imageView); } /*** * 加载图片,使用占位符 * @param context * @param imageUrl * @param imageView */ public static void loadImagePlaceholder(Context context, int defauleImage, String imageUrl, ImageView imageView) { loadImageWidthError(context, defauleImage, R.mipmap.error_load, imageUrl, imageView); } /*** * 使用占位符,加载失败有显示失败的图片 * @param context * @param defauleImage * @param errorImage * @param imageUrl * @param imageView */ public static void loadImageWidthError(Context context, int defauleImage, int errorImage, String imageUrl, ImageView imageView) { Glide.with(context).load(imageUrl).placeholder(defauleImage).error(errorImage).into(imageView); } /*** * 加载视屏缩略图 * @param context * @param videoPath * @param imageView */ public static void loadVideoThumImage(Context context, String videoPath, ImageView imageView) { Glide.with(context).load(Uri.fromFile(new File(videoPath))).into(imageView); } //7.缓存策略,跳过内存缓存 public static void loadImageSkiCache(Context context, String imageUrl, ImageView imageView) { Glide.with(context).load(imageUrl).skipMemoryCache(true).into(imageView); } //跳过硬盘缓存// DiskCacheStrategy.NONE 什么都不缓存// DiskCacheStrategy.SOURCE 仅仅只缓存原来的全分辨率的图像// DiskCacheStrategy.RESULT 仅仅缓存最终的图像,即降低分辨率后的(或者是转换后的)// DiskCacheStrategy.ALL 缓存所有版本的图像(默认行为) public static void loadImageSkiStrategy(Context context, String imageUrl, ImageView imageView) { Glide.with(context).load(imageUrl).diskCacheStrategy(DiskCacheStrategy.NONE).into(imageView); }// 8.优先级,设置图片加载的顺序:// Glide.with(context).load(imageUrl).priority( Priority.HIGH).into( imageView);// 9.获取Bitmap,设置CircleImageVIew可以使用这个ImageView库//Glide.with(mContext)// .load(url)// .placeholder(R.drawable.loading_spinner)// .into(new SimpleTarget<Bitmap>(width, height) {// @Override// public void onResourceReady(Bitmap bitmap, GlideAnimation anim) {// // setImageBitmap(bitmap) on CircleImageView// }// };// 10.加载圆形图片和圆角图片// //圆形图片// public class GlideCircleTransform extends BitmapTransformation {// public GlideCircleTransform(Context context) {// super(context);// }//// @Override protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) {// return circleCrop(pool, toTransform);// }//// private static Bitmap circleCrop(BitmapPool pool, Bitmap source) {// if (source == null) return null;//// int size = Math.min(source.getWidth(), source.getHeight());// int x = (source.getWidth() - size) / 2;// int y = (source.getHeight() - size) / 2;//// // TODO this could be acquired from the pool too// Bitmap squared = Bitmap.createBitmap(source, x, y, size, size);//// Bitmap result = pool.get(size, size, Bitmap.Config.ARGB_8888);// if (result == null) {// result = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888);// }//// Canvas canvas = new Canvas(result);// Paint paint = new Paint();// paint.setShader(new BitmapShader(squared, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP));// paint.setAntiAlias(true);// float r = size / 2f;// canvas.drawCircle(r, r, r, paint);// return result;// }//// @Override public String getId() {// return getClass().getName();// }// }// //圆角图片// public class GlideRoundTransform extends BitmapTransformation {//// private static float radius = 0f;//// public GlideRoundTransform(Context context) {// this(context, 4);// }//// public GlideRoundTransform(Context context, int dp) {// super(context);// this.radius = Resources.getSystem().getDisplayMetrics().density * dp;// }//// @Override protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) {// return roundCrop(pool, toTransform);// }//// private static Bitmap roundCrop(BitmapPool pool, Bitmap source) {// if (source == null) return null;//// Bitmap result = pool.get(source.getWidth(), source.getHeight(), Bitmap.Config.ARGB_8888);// if (result == null) {// result = Bitmap.createBitmap(source.getWidth(), source.getHeight(), Bitmap.Config.ARGB_8888);// }//// Canvas canvas = new Canvas(result);// Paint paint = new Paint();// paint.setShader(new BitmapShader(source, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP));// paint.setAntiAlias(true);// RectF rectF = new RectF(0f, 0f, source.getWidth(), source.getHeight());// canvas.drawRoundRect(rectF, radius, radius, paint);// return result;// }//// @Override public String getId() {// return getClass().getName() + Math.round(radius);// }// }}
阅读全文
0 0
- Glide 图片加载工具类
- Glide图片加载工具
- Glide 4.0+ 加载图片工具类
- 图片加载工具Glide用法速览
- Glide圆形图片工具类
- Android网络加载图片universal-image-loader的工具类以及Glide使用
- 图片加载库Glide
- Android Glide 图片加载
- Glide加载图片
- 图片加载库Glide
- 图片加载库Glide
- 图片加载框架Glide
- Glide图片加载
- Glide图片加载
- Glide 加载图片变形
- Glide加载图片
- Glide 图片加载
- glide 图片加载
- LoRa无线技术
- 内部类
- IO模型及select、poll、epoll和kqueue的区别
- hdu1058 Humble Numbers【优先队列】
- 网页搜索、学术搜索
- Glide 图片加载工具类
- java 上传图片 并压缩图片大小
- iOS打包.a
- php中!=和!== 区别
- Matlab GUI,菜单,显示图片
- 查询
- biz plan
- WEB 端批量移动设备管理控制工具 STF 的环境搭建和运行
- JavaBean注解之Lombok(java奇淫巧技之Lombok)