下载和设置
Android SDK要求
使用最低要求,使用滑翔要求SDK版本为API 14(冰淇淋三明治)及以上。
编译最低要求,编译滑翔要在SDK版本为API 26(奥利奥)及以上。
<强> jar 强>
你可以直接在GitHub下载最新的jar包
<强> Gradle 强>
如果使用Gradle,可从Maven中央或JCenter中添加对滑翔的依赖。同样,你还需要添加Android支持库的依赖。
存储库{ mavenCentral () maven {url ' https://maven.google.com '} } 依赖关系{ 编译的com.github.bumptech.glide:滑翔:以下4.4.1 annotationProcessor com.github.bumptech.glide:编译器:以下4.4.1 } >之前<强>芬兰湾的科特林强>
如果你在芬兰湾的科特林编写的类里使用滑翔注解,你需要引入一个kapt依赖,以代替常规的annotationProcessor依赖:
依赖关系{ kapt com.github.bumptech.glide:编译器:以下4.4.1 } >之前<强>开始使用强>
<>强基本用法强>
加载图片
Glide.with(片段) .load (myUrl) .into (imageView);取消加载图片
Glide.with(片段).clear (imageView);<强>在RecyclerView中使用强>
@Override 公共空间> Glide.with(片段) .load (url) .placeholder (R.drawable.placeholder) .into(查看); >之前加载失败后显示的图片(错误)
Glide.with(片段) .load (url) . error (R.drawable.error) .into(查看); >之前<强>图片的转换强>
中滑翔的大部分设置项都可以通过RequestOptions类和应用()方法来应用到程序中。使用请求选项可以实现(包括但不限于):
<李>占位图(占位符)李> <李>转换(转换)李> <李>缓存策略(缓存策略)李> <李>组件特有的设置项,例如编码质量,或位图的解码配置等。李>
<强>加载圆形图片强>
Glide.with(这) .load (url) 苹果(RequestOptions.circleCropTransform ()) .into(溶);<强>加载图片带淡入淡出的动画效果强>
Glide.with(这) .load (url) .transition (withCrossFade ()) .into(溶); >之前等等很多的转换效果,具体自己可以一个一个试试
缓存滑翔的默认缓存策略是自动的,
引用>
在磁盘缓存GlideApp.with(片段) .load (url) .diskCacheStrategy (DiskCacheStrategy.ALL) .into (imageView); >之前仅从缓存加载图片
GlideApp.with(片段) .load (url) .onlyRetrieveFromCache(真正的) .into (imageView); >之前跳过内存缓存
GlideApp.with(片段) .load (url) .skipMemoryCache(真正的) .into(查看); >之前跳过磁盘缓存
GlideApp.with(片段) .load (url) .diskCacheStrategy (DiskCacheStrategy.NONE) .into(查看); >之前跳过所有的缓存
GlideApp.with(片段) .load (url) .diskCacheStrategy (DiskCacheStrategy.NONE) .skipMemoryCache(真正的) .into(查看); >之前清理磁盘的缓存
Glide.get (applicationContext) .clearDiskCache ();<强>高级用法强>
加载一个图片为高斯模糊效果
使用方法
代码如下:
才能
Glide.with (getActivity ()) .load (“http://img1.imgtn.bdimg.com/it/u=594559231, 2167829292, fm=27, gp=0. jpg”)苹果(RequestOptions.bitmapTransform(新GlideBlurformation (getActivity ()))) .into(溶);
用到的其他工具类
包com.qiezzi.clinic.chengqi.common.utils; 进口android.content.Context; 进口android.graphics.Bitmap; 进口android.support.annotation.NonNull; 进口com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool; 进口com.bumptech.glide.load.resource.bitmap.BitmapTransformation; 进口java.security.MessageDigest;/* * *由yukuoyuan> 包com.qiezzi.clinic.chengqi.common.utils; 进口android.annotation.TargetApi; 进口android.content.Context; 进口android.graphics.Bitmap; 进口android.os.Build; 进口android.renderscript.Allocation; 进口android.renderscript.Element; 进口android.renderscript.RenderScript; 进口android.renderscript.ScriptIntrinsicBlur;/* * *由yukuoyuan 2017/9/29。 */ 公开课BlurBitmapUtil { 私有静态BlurBitmapUtil sInstance; 私人BlurBitmapUtil () { } 公共静态BlurBitmapUtil实例(){ 如果(sInstance==null) { 同步(BlurBitmapUtil.class) { 如果(sInstance==null) { sInstance=new BlurBitmapUtil (); } } } 返回sInstance; }/* * * @param上下文上下文对象 * @param图像需要模糊的图片 * @param outWidth输入出的宽度 * @param outHeight输出的高度 * @return模糊处理后的位图 */ @TargetApi (Build.VERSION_CODES.JELLY_BEAN_MR1) 公共位图blurBitmap(上下文语境、位图图像blurRadius浮动,int outWidth, int outHeight) {//将缩小后的图片做为预渲染的图片 位图inputBitmap=位图。createScaledBitmap(图像、outWidth outHeight、虚假);//创建一张渲染后的输出图片 位图outputBitmap=Bitmap.createBitmap (inputBitmap);//创建RenderScript内核对象 RenderScript rs=RenderScript.create(上下文);//创建一个模糊效果的渲染脚本的工具对象 ScriptIntrinsicBlur blurScript=ScriptIntrinsicBlur。创建(rs, Element.U8_4 (rs));//由于RenderScript并没有使用VM来分配内存,所以需要使用分配类来创建和分配内存空间//创建分配对象的时候其实内存是空的,需要使用copyTo()将数据填充进的去 分配tmpIn=分配。createFromBitmap (rs, inputBitmap); 分配tmpOut=分配。createFromBitmap (rs, outputBitmap);//设置渲染的模糊程度,25 f是最大模糊度 如果(Build.VERSION。SDK_INT祝辞=Build.VERSION_CODES.JELLY_BEAN_MR1) { blurScript.setRadius (blurRadius); }//设置blurScript对象的输入内存 null null null null null null null null null null null null null null nullAndroid 4.0 +使滑动用详解