Android 4.0 +使滑动用详解

  

下载和设置

  

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   null

Android 4.0 +使滑动用详解