标签:位图 最简 port animation 显示 ade 第三方 launch 告诉
在android中,可能需要用来从网上获取图片的需求,那么这个功能用第三方框架是最好的,因为第三方框架为我们封装了很多的操作,比如glide框架,可以异步的加载图片,并且可以设置缓存方式和缩略图等一系列功能,下边就介绍下怎么使用。
首先添加gradle:
compile ‘com.github.bumptech.glide:glide:3.7.0‘
添加对应的权限,访问网络和访问本地存储:
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
最简单的使用的方法:
Glide .with(this) .load("http://inthecheesefactory.com/uploads/source/nestedfragment/fragments.png") .into(imageView);
glide with的介绍:
在图片过大或者网上太慢时,可以设置为图像设置一个占位图,在图像加载出来之前先显示占位图设置占位图的方式
还可以设置在图像加载失败时显示的图像
Glide.with(this).load("http://ww4.sinaimg.cn/large/610dc034gw1f96kp6faayj20u00jywg9.jpg") .placeholder(R.drawable.ic_launcher) //设置占位图,在加载之前显示 .error(R.drawable.icon) //在图像加载失败时显示 .into(image);
在加载图像时,还可以设置图像显示的动画:
Glide.with(this).load("http://ww4.sinaimg.cn/large/610dc034gw1f96kp6faayj20u00jywg9.jpg") .placeholder(R.drawable.ic_launcher) .error(R.drawable.icon) .crossFade() //设置显示动画, .into(image);
crossFade()
有几种重载的方法crossFade(int duration)
:设置时间crossFade(Animation animation, int duration)
:设置自定义的动画和时间crossFade(int animationId, int duration)
: 加载动画资源和时间Glide .with( context ) .load( UsageExampleGifAndVideos.gifUrl ) .thumbnail( 0.1f ) .into( imageView2 );
我们都知道图像的处理和显示在Android中是最耗费内存的,很容易引起OOM的问题,一般在图像处理和显示时,都会使用缓存策略,内存缓存或硬盘缓存,在Glide
中也提供了不同的缓存策略,默认的情况下会将显示的图像进行内存缓存,也可以设置不使用内存缓存,调用方法skipMemoryCache(true)
,就告诉Glide
我们不打算使用内存缓存,默认是使用内存缓存的
Glide.with(this) .load("http://ww4.sinaimg.cn/large/610dc034gw1f96kp6faayj20u00jywg9.jpg") .skipMemoryCache(true) .into(image);
Glide
同时也提供了硬盘缓存,硬盘缓存的策略可以通过方法diskCacheStrategy()
来设定
Glide.with(this) .load("http://ww4.sinaimg.cn/large/610dc034gw1f96kp6faayj20u00jywg9.jpg") .diskCacheStrategy(DiskCacheStrategy.SOURCE) //不使用硬盘缓存 .into(image);
DiskCacheStrategy.NONE
: 不使用硬盘缓存DiskCacheStrategy.SOURCE
: 将原始图像缓存在硬盘中DiskCacheStrategy.RESULT
: 将显示出来大小的图像缓存在硬盘(默认缓存策略)DiskCacheStrategy.ALL
: 显示的图像和原始图像都会缓存
标签:位图 最简 port animation 显示 ade 第三方 launch 告诉
原文地址:http://www.cnblogs.com/cmai/p/7823524.html