美文网首页Android
Android之Glide获取图片Path和Glide获取图片B

Android之Glide获取图片Path和Glide获取图片B

作者: onlyxing | 来源:发表于2017-12-14 11:00 被阅读25次

    Glide是Google推荐用的图片加载框架


    Glide.with(context).load(ImgUrl).into(ImageView);

    load(): String(文件路径,网络地址),File(文件资源),Integer(资源id);

    asGif: 表示的gif动画

    asBitmap:表示静态图

    diskCacheStrategy 磁盘缓存策略:

    (1) DiskCacheStrategy.RESULT: 展示小大的图片缓存

    (2) DiskCacheStrategy.ALL: 展示在控件中大小图片尺寸和原图都会缓存

    (3) DiskCacheStrategy.NONE:不设置缓存

    (4) DiskCacheStrategy.SOURCE:原图缓存

    placeholder(R.drawable.loading):  目标从加载到展示时的控件的显示状态(多用网络加载动画)

    error(R,drawable,error):  加载失败时,控件显示的图片。

    into(ImageView):  展示的控件



    Glide提供了一个downloadOnly() 接口来获取缓存的图片文件,但是前提必须要设置diskCacheStrategy方法的缓存策略为DiskCacheStrategy.ALL或者DiskCacheStrategy.SOURCE,还有downloadOnly()方法需要在线程里进行

    1)在图片下载缓存好之后获取

    Glide.with(mContext).load(url).asBitmap().into(new SimpleTarget() {

    @Override

    public void onResourceReady(Bitmap resource, GlideAnimation glideAnimation) {

    image.setImageBitmap(resource);

    }

    }); //方法中设置asBitmap可以设置回调类型

    全面的方法: Glide.with(mContext).load(url).asBitmap().into(new Target<Bitmap>() {});

    2)通过url获取

    Bitmap myBitmap = Glide.with(applicationContext)

    .load(yourUrl)

    .asBitmap() //必须

    .centerCrop()

    .into(500, 500)

    .get()

    3)获取图片缓存路径

    FutureTargetfuture = Glide.with(mContext)

    .load("url")

    .downloadOnly(500, 500);

    try {

    File cacheFile = future.get();

    String path = cacheFile.getAbsolutePath();

    } catch (InterruptedException e) {

    e.printStackTrace();

    } catch (ExecutionException e) {

    e.printStackTrace();

    }

    注意:这段代码需要在线程中执行

    相关文章

      网友评论

        本文标题:Android之Glide获取图片Path和Glide获取图片B

        本文链接:https://www.haomeiwen.com/subject/rlbhwxtx.html