Android中Glide获取图片Path、Bitmap用法详解
毛票票在此之前给大家介绍过图片加载框架Glide的基本用法介绍,大家可以先参考一下,本篇内容更加深入的分析了Glide获取图片Path、Bitmap用法,以及实现的代码分析。
1.获取Bitmap:
1)在图片下载缓存好之后获取
Glide.with(mContext).load(url).asBitmap().into(newSimpleTarget(){ @Override publicvoidonResourceReady(Bitmapresource,GlideAnimationglideAnimation){ image.setImageBitmap(resource); } });//方法中设置 asBitmap可以设置回调类型
上面是简单方法,下面有全面的方法,可以完美控制:
Glide.with(mContext).load(url).asBitmap().into(newTarget(){ @Override publicvoidonLoadStarted(Drawableplaceholder){ } @Override publicvoidonLoadFailed(Exceptione,DrawableerrorDrawable){ } @Override publicvoidonResourceReady(Bitmapresource,GlideAnimationglideAnimation){ //TODOsetbitmap } @Override publicvoidonLoadCleared(Drawableplaceholder){ } @Override publicvoidgetSize(SizeReadyCallbackcb){ } @Override publicvoidsetRequest(Requestrequest){ } @Override publicRequestgetRequest(){ returnnull; } @Override publicvoidonStart(){ } @Override publicvoidonStop(){ } @Override publicvoidonDestroy(){ } });
2)通过url获取
BitmapmyBitmap=Glide.with(applicationContext) .load(yourUrl) .asBitmap()//必须 .centerCrop() .into(500,500) .get()
2.获取图片缓存路径
FutureTargetfuture=Glide.with(mContext) .load("url") .downloadOnly(500,500); try{ FilecacheFile=future.get(); Stringpath=cacheFile.getAbsolutePath(); }catch(InterruptedExceptione){ e.printStackTrace(); }catch(ExecutionExceptione){ e.printStackTrace(); }
注意:这段代码需要在线程中执行,否则会保存,目前我还没整理出统一的方法回调,回头再研究研究。