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() > ...
随机推荐
- Scala分号推断
看这样段代码,Scala会把它当作两个语句,x 和 +y,如果想把它作为一个语句,可以把它们放在括号里(x+y) x +y 或者也可以把 + 放在行末,也正因为此,串接类似于 + 这样的中缀操作符的时 ...
- Android服务
开启服务 (startservice) 服务一旦开启与调用者没有任何的关系 , 调用着的activity 即便是退出了 也不会影响 后台的service的运行. 在activity里面 不能去调用服务 ...
- 使用$_SERVER['HTTP_HOST']时需注意的
在php中,我们一般通过$_SERVER['HTTP_HOST']来活得URL中网站的域名或者ip地址. $_SERVER['HTTP_HOST']在客户的环境里,取得的值总是程序所在的服务器在其局域 ...
- Chorme 快捷键
掌握谷歌浏览器的快捷键,能提升一定的使用效率. Windows 和 Linux 标签页和窗口快捷键 操作 快捷键 打开新窗口 Ctrl + n 在隐身模式下打开新窗口 Ctrl + Shift + n ...
- 如何让文字和input框水平放在div里
#text_input { height: 16px; width: 133px; margin-right: 5px; padding:0 0 0 3px; border: 1px solid #C ...
- asp.net 后台验证成功(弹出对话框)并跳转?不能实现
原始 Context.Response.Write("<script></script>"); Response.Redirect(); 解决办法: Cli ...
- Kettle 使用相关
Kettle 作为国外的一款开源ETL软件,要使用了
- Mysql基础知识整
web项目部署 Java项目使用的web服务器:Tomcat.weblogic.webshare.jetty Php.python使用的web服务器:nginx.apache 搭建环境过程: 部署.发 ...
- python远程批量执行命令
#!/usr/bin/env python#-*- coding:utf-8 -*- from multiprocessing import Process,Poolimport time,param ...
- PHP来实现文件上传
文件php <?phpif ($_FILES["file"]["error"] > 0){ echo '错误: ' . $_FILES[" ...