Glide的学习和使用
来源:互联网 发布:mac os 国外软件推荐 编辑:程序博客网 时间:2024/05/21 11:33
Glide是一款由Bump Technologies开发的图片加载框架,使得我们可以在Android平台上以极度简单的方式加载和展示图片。
1.Glide的引入—在app/build.gradle 当中添加如下依赖
dependencies { compile 'com.github.bumptech.glide:glide:3.7.0'}
2.权限的添加Glide中需要用到网络功能,因此你还得在AndroidManifest.xml中声明一下网络权限才行:
<uses-permission android:name="android.permission.INTERNET" />
glide可以完成的功能
(1)加载网络上的图片
(2)加载手机本地的图片
(3)加载应用资源中的图片
一行代码实现了图片加载
Glide.with(this).load(url).into(imageView);
(1)调用Glide.with()方法用于创建一个加载图片的实例;with()方法可以接收Context、Activity或者Fragment类型的参数。—with()方法中传入的实例会决定Glide加载图片的生命周期,如果传入的是Activity或者Fragment的实例,那么当这个Activity或Fragment被销毁的时候,图片加载也会停止。如果传入的是ApplicationContext,那么只有当应用程序被杀掉的时候,图片加载才会停止。
(2)load()方法用于指定待加载的图片资源
// 加载本地图片File file = new File(getExternalCacheDir() + "/image.jpg");Glide.with(this).load(file).into(imageView);// 加载应用资源int resource = R.drawable.image;Glide.with(this).load(resource).into(imageView);// 加载二进制流byte[] image = getImageBytes();Glide.with(this).load(image).into(imageView);// 加载Uri对象Uri imageUri = getImageUri();Glide.with(this).load(imageUri).into(imageView);//加载网络图片String url = "http://img4.imgtn.bdimg.com/it/u=1495511926,3386591440&fm=23&gp=0.jpg";Glide.with(this).load(url).into(imageView);
(3)into()方法,决定让图片显示在哪一个控件上,在load()和into()方法之间串接任意想添加的功能
占位图概念—图片未加载成功时显示的默认图片
.placeholder(R.mipmap.ic_launcher) // can also be a drawable
禁用磁盘缓存功能
diskCacheStrategy(DiskCacheStrategy.NONE)//默认为DiskCacheStrategy.SOURCE
去明确告诉 Glide 跳过内存缓存。这意味着 Glide 将不会把这张图片放到内存缓存中去。
.skipMemoryCache(true)
异常占位图
error(R.drawable.error)
指定图片格式
指定只以静态图片格式显示
asBitmap()方法,这个方法的意思就是说这里只允许加载静态图片,不需要Glide去帮我们自动进行图片格式的判断了。
Glide.with(this).load(url).asBitmap(). placeholder(R.drawable.f5). diskCacheStrategy(DiskCacheStrategy.NONE). error(R.mipmap.ic_launcher_round). override(100,100). into(imageView);
指定加载图片的大小,不管imageview大小
override(100,100) //传入的单位是px,resizes the image to these dimensions (in pixel). does not respect aspect ratio
Glide既缓存全尺寸又缓存其他尺寸:
Glide.with(this) .load("http://nuuneoi.com/uploads/source/playstore/cover.jpg") .diskCacheStrategy(DiskCacheStrategy.ALL) .into(ivImgGlide);
—添加淡入淡出动画,里面可以添加参数毫秒值
.crossFade()
—禁用动画效果
dontAnimate()
Center Cropping
CenterCrop()是一个裁剪技术,即缩放图像让它填充到 ImageView 界限内并且侧键额外的部分。ImageView 可能会完全填充,但图像可能不会完整显示。
.CenterCrop()
fitCenter() 是裁剪技术,即缩放图像让图像都测量出来等于或小于 ImageView 的边界范围。该图像将会完全显示,但可能不会填满整个 ImageView。
.fitCenter()
Transforming
.transform(new CircleTransform(context))
图片请求优先级
.priority( Priority.LOW )
Notes:(图片优先级)
Priority.LOW Priority.NORMAL Priority.HIGH Priority.IMMEDIATE
- Glide的学习和使用
- Glide框架的简单学习和理解
- Glide的封装和使用总结
- Glide的进一步学习
- Android - Glide的使用
- Android - Glide的使用
- Glide 的基本使用
- Glide的简单使用
- Glide的使用
- Glide的使用
- Glide的简单使用
- Glide的使用
- Glide的使用
- glide的基本使用
- Glide的使用详解
- Glide的使用
- Glide的使用大全
- Glide的使用
- AngularJS—学习 ui-router
- 推荐一个一年成专家的博主--forezp
- 鼠标经过悬停效果
- SonarQube安装与配置
- 剑指offer——连续子数组的最大和(动规或者普通算法,不错)
- Glide的学习和使用
- Android 逐帧动画 实现一个进度条
- Elasticsearch使用TTL导致OOM问题分析解决
- Asp.net Core中使用Redis 来保存Session
- EL表达式
- ROS中PocketSphinx缺少组件gconfaudiosrc解决方案
- nodejs学习2:Express的路由(Route)功能
- 欢迎使用CSDN-markdown编辑器
- MarkDown使用: