Android中的Glide加载图片
注意:在Android Studio的项目的build.gradle中添加:
compile 'com.github.bumptech.glide:glide:3.6.1'
然后同步一下
目录:
- 使用Glide结合列表的样式进行图片加载
- 如果使用的是RecyclerView,可以在Adapter的onBindViewHolder方法中使用
- 当加载网络图片时,由于加载过程中图片未能及时显示,此时可能需要设置等待时的图片,通过placeHolder()方法
- 当加载图片失败时,通过error(Drawable drawable)方法设置加载失败后的图片显示
- 图片的缩放,centerCrop()和fitCenter()
- 显示gif动画
- 显示本地视频
- 缓存策略
- 优先级,设置图片加载的顺序
- 当不需要将加载的资源直接放入到ImageView中而是想获取资源的Bitmap对象
- 集成网络栈(okHttp,Volley)
@Overridepublic View getView(int position, View convertView, ViewGroup parent) {if (null == convertView) {//.....}Glide.with(context).load(imageUrls[position]).into(holder.imageView);return convertView;}
@Overridepublic void onBindViewHolder(RVViewHolder holder, int position) {Glide.with(MainActivity.this).load(args[position]).into(holder.imageView);}
Glide.with(context).load(UsageExampleListViewAdapter.eatFoodyImages[0]).placeholder(R.mipmap.ic_launcher) // can also be a drawable.into(imageViewPlaceholder);
Glide.with(context).load("http://futurestud.io/non_existing_image.png").error(R.mipmap.future_studio_launcher) // will be displayed if the image cannot be loaded.into(imageViewError);
//使用centerCrop是利用图片图填充ImageView设置的大小,如果ImageView的//Height是match_parent则图片就会被拉伸填充Glide.with(MainActivity.this).load(args[position]).centerCrop().into(holder.imageView);
//使用fitCenter即缩放图像让图像都测量出来等于或小于 ImageView 的边界范围//该图像将会完全显示,但可能不会填满整个 ImageView。Glide.with(MainActivity.this).load(args[position]).fitCenter().into(holder.imageView);
Glide.with( context ).load( gifUrl ).asGif() //判断加载的url资源是否为gif格式的资源.error( R.drawable.full_cake ).into( imageViewGif );
String filePath = "/storage/emulated/0/Pictures/example_video.mp4";Glide.with( context ).load( Uri.fromFile( new File( filePath ) ) ).into( imageViewGifAsBitmap );
Glide.with( context ).load( Images[0] ).skipMemoryCache( true ) //跳过内存缓存.into( imageViewInternet );
Glide.with( context ).load( images[0] ).diskCacheStrategy( DiskCacheStrategy.NONE ) //跳过硬盘缓存.into( imageViewInternet );
DiskCacheStrategy.NONE什么都不缓存DiskCacheStrategy.SOURCE仅仅只缓存原来的全分辨率的图像DiskCacheStrategy.RESULT仅仅缓存最终的图像,即降低分辨率后的(或者是转换后的)DiskCacheStrategy.ALL缓存所有版本的图像(默认行为)
Priority.LOWPriority.NORMALPriority.HIGHPriority.IMMEDIATE
private void loadImageWithHighPriority() {Glide.with( context ).load( mages[0] ).priority( Priority.HIGH ).into( imageViewHero );}private void loadImagesWithLowPriority() {Glide.with( context ).load( images[1] ).priority( Priority.LOW ).into( imageViewLowPrioLeft );Glide.with( context ).load( images[2] ).priority( Priority.LOW ).into( imageViewLowPrioRight );}
//括号中的300,600代表宽和高但是未有作用SimpleTarget target = new SimpleTarget<Bitmap>(300,600) {@Overridepublic void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) {holder.imageView.setImageBitmap(resource);}};Glide.with(MainActivity.this).load(args[position]).asBitmap().into(target);
dependencies {// your other dependencies// ...// Glidecompile 'com.github.bumptech.glide:glide:3.6.1'// Glide's OkHttp Integrationcompile 'com.github.bumptech.glide:okhttp-integration:1.3.1@aar'compile 'com.squareup.okhttp:okhttp:2.5.0'}
dependencies {// your other dependencies// ...// Glidecompile 'com.github.bumptech.glide:glide:3.6.1'// Glide's Volley Integrationcompile 'com.github.bumptech.glide:volley-integration:1.3.1@aar'compile 'com.mcxiaoke.volley:library:1.0.8'}
Android中的Glide加载图片的更多相关文章
- Android中ListView异步加载图片错位、重复、闪烁问题分析及解决方案
我们在使用ListView异步加载图片的时候,在快速滑动或者网络不好的情况下,会出现图片错位.重复.闪烁等问题,其实这些问题总结起来就是一个问题,我们需要对这些问题进行ListView的优化. 比如L ...
- Android的ListView异步加载图片时,错位、重复、闪烁问题的分析及解决方法
Android ListView异步加载图片错位.重复.闪烁分析以及解决方案,具体问题分析以及解决方案请看下文. 我们在使用ListView异步加载图片的时候,在快速滑动或者网络不好的情况下,会出现图 ...
- Android Glide加载图片时转换为圆形、圆角、毛玻璃等图片效果
Android Glide加载图片时转换为圆形.圆角.毛玻璃等图片效果 附录1简单介绍了Android开源的图片加载框架.在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬 ...
- Glide 加载图片
//通过model获取到图片的url,将Url转换成bitmap对象: //设置不保存内存和硬盘缓存, 1 Glide.with(mContext).load(model.getVideoUrl()) ...
- RoundedImageView使用吐槽心得(RoundedImageView与Glide加载图片,第一次加载无法圆角问题)
最近使用的时候发现一个问题, RoundedImageView与Glide搭配使用的时候,第一次加载图片(内存中没有),后图片无法圆角,后来尝试各种改,最后想到了一个办法,就是让Glide加载图片的 ...
- Glide加载图片问题记录
Glide加载图片相比于Picasso而言性能较好,又比Fresco轻巧,而且又支持加载gif动图,是Google 推荐.专注平滑的滚动.简单易用.可扩展的一款图片加载框架.但是使用时还是会遇到一些问 ...
- Glide加载图片缓存库出现——You cannot start a load for a destroyed activity
请记住一句话:不要再非主线程里面使用Glide加载图片,如果真的使用了,请把context参数换成getApplicationContext.
- arcgis android 中shapefile的加载
前言 本文为大家分享arcgis android 中shapefile的加载,默认你有java环境,懂一定的android基础知识,默认你已经安装android studio.如缺乏以上环境和知识,请 ...
- Glide加载图片的事例
//获取图片的url String url = resultsEntity.getUrl(); //判断获取的图片是否存在 if (resultsEntity.getItemHeight() > ...
随机推荐
- SAP HANA创建层次结构的属性视图(Hierarchy Attribute View)
在产品表中,数据是具有一定层次结构的 1. 在Content相应的package下面右键点击Attribute View,新建Attribute View 填写相关信息,注意:我们所建的依然是标准视图 ...
- layout布局
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Windows漏洞利用与防护(2015.8)
Windows平台下的漏洞利用与防护 0x00 概述 在过去的二十几年,Windows作为网络安全的主战场之一,攻于防的较量从未停息过.内存破坏漏洞作为研究的重点之一,经历了很多的发展也沉淀了前辈们许 ...
- C#多线程:深入了解线程同步lock,Monitor,Mutex,同步事件和等待句柄(中)
本篇继续介绍WaitHandler类及其子类 Mutex,ManualResetEvent,AutoResetEvent的用法..NET中线程同步的方式多的让人看了眼花缭乱,究竟该怎么去理解呢?其实, ...
- EditText文本中用正则匹配是否包含数字,及判断文本只能是纯汉字或纯字母
遇到判断EditText中文本,是否为制定格式 EditText et; Button btn; @Override protected void onCreate(Bundle savedInsta ...
- springMVC servlet 静态资源加载
问题描述 新手使用SpringMVC时市场会遇到静态资源无法加载在问题,如下图所示 问题原因 出现这种问题一般是在web.xml中的对spring的DispatcherServlet采用了如下配置,即 ...
- @PostConstruct 和 @PreDestory
关于在spring 容器初始化 bean 和销毁前所做的操作定义方式有三种: 第一种:通过@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作 第二 ...
- Excel 文件转 JSON格式对象
将导入的如图所示格式的城乡区划代码的excel文件整理成json格式的对象储存在js文件中: var PROJECTDISTRICTDATA=[ { "name" ...
- hdfs格式化hadoop namenode -format错误
在对HDFS格式化,执行hadoop namenode -format命令时,出现未知的主机名的问题,异常信息如下所示: [shirdrn@localhost bin]$ hadoop namenod ...
- javaWEB总结(13):域对象的属性操作
前言 本文主要讲解javaweb的四个域对象以及他们的作用范围,后面会有小demo来具体测试. 四个域对象 (1)pageContext:属性的作用范围仅限于当前JSP页面: (2)request:属 ...