配置介绍
- 测试机 genymotion dpi:320
- Glide 版本3.7.0
- ImageView大小100dp*100dp 即(200px*200px)
- 预备知识 一般认为一张图片在android中的byte=像素总数*4(默认Glide采用的是Bitmap.Config.RGB_565(DecodeFormat.PREFER_RGB_565).也就是两个字节表示一个像素)
- 网络图片地址:http://b.hiphotos.baidu.com/image/pic/item/d009b3de9c82d15825ffd75c840a19d8bd3e42da.jpg
- 网络图片尺寸:768px*1152px
- Gif地址 http://img.huachitour.com/top/uploads/allimg/20151201/143306_34159.gif
基础加载
加载网络图片(网络地址)
Glide.with(context).load(netUrl).into(iv);
加载res资源(资源id)
Glide.with(context).load(R.mipmap.mv).into(iv);
加载文件
File imageFile=new File(Environment.getExternalStorageDirectory(),"mv.jpg"); Glide.with(context).load(imageFile).into(iv);
加载Uri
File imageFile=new File(Environment.getExternalStorageDirectory(),"mv.jpg"); Uri imageUri = Uri.fromFile(imageFile); Glide.with(context).load(imageUri).into(iv);
占位图片
Glide.with(context).load(R.mipmap.mv).placeholder(R.mipmap.ic_launcher).into(iv);
错误图片
int imageResId=100; Glide.with(context).load(imageResId).error(R.mipmap.ic_launcher).into(iv);
通知栏图片加载
通知代码
private void showNotifaction() { NotificationCompat.Builder builder = new NotificationCompat.Builder(this); builder.setSmallIcon(R.mipmap.ic_launcher); remoteViews = new RemoteViews(getPackageName(), R.layout.layout_notification); builder.setContent(remoteViews); notification = builder.build(); nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); nm.notify(1, notification); }
NotificationTarget代码(也可以使用Glide自带的NotificationTarget)
class NotificationTarget extends SimpleTarget<GlideDrawable> { RemoteViews remoteViews; int notificationId; Notification notification; public NotificationTarget(RemoteViews remoteViews, int notificationId, Notification notificat