资讯专栏INFORMATION COLUMN

Android Fresco图片加载库基础使用详解

王伟廷 / 1173人阅读

摘要:如果没有在中声明这两个属性,将无法正确加载图像。如果大小不一致,假设使用的是,图像下载完之后,将会重新,改变大小和位置。这将会导致界面跳跃。

前言

图片加载在 Android开发项目中是必不可少的,为了降低开发周期和难度,我们经常会选用一些图片加载的开源库,而Android发展到现在图片加载开源库也越来越多了,下面介绍 Fresco开源图片加载库.

简介

Fresco是由Facebook开源的一个图片加载库,Fresco是一个功能强大的系统,用于在Android应用程序中显示图像.

功能介绍以及基础使用 1.配置

在 build.gradle 中配置:

dependencies {
  // 其他依赖
  compile "com.facebook.fresco:fresco:0.12.0"
}

下面的依赖需要根据需求添加:

dependencies {
  // 在 API < 14 上的机器支持 WebP 时,需要添加
  compile "com.facebook.fresco:animated-base-support:0.12.0"

  // 支持 GIF 动图,需要添加
  compile "com.facebook.fresco:animated-gif:0.12.0"

  // 支持 WebP (静态图+动图),需要添加
  compile "com.facebook.fresco:animated-webp:0.12.0"
  compile "com.facebook.fresco:webpsupport:0.12.0"

  // 仅支持 WebP 静态图,需要添加
  compile "com.facebook.fresco:webpsupport:0.12.0"
}

Application中初始化Fresco

[MyApplication.java]
public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        Fresco.initialize(this);
    }
}

在 AndroidManifest.xml 中指定你的 Application 类

  
    
    
      ...
    
    ...
  

添加网络权限

在xml布局文件中, 加入SimpleDraweeView:

开始加载图片

Uri uri = Uri.parse("https://raw.githubusercontent.com/facebook/fresco/gh-pages/static/logo.png");
SimpleDraweeView draweeView = (SimpleDraweeView) findViewById(R.id.my_image_view);
draweeView.setImageURI(uri);

剩下的,Fresco会替你完成:

显示占位图直到加载完成;
下载图片;
缓存图片;
图片不再显示时,从内存中移除;
等等等等。


2.基本功能介绍&使用

可配置的所有选项

必须声明 android:layout_width 和 android:layout_height。如果没有在XML中声明这两个属性,将无法正确加载图像。

Drawees 不支持 wrap_content 属性。

所下载的图像可能和占位图尺寸不一致,如果设置出错图或者重试图的话,这些图的尺寸也可能和所下载的图尺寸不一致。

如果大小不一致,假设使用的是 wrap_content,图像下载完之后,View将会重新layout,改变大小和位置。这将会导致界面跳跃。


至此,Fresco的基本功能介绍&使用就讲解完毕了,感谢阅读

参考文章

官方文档

Android图片加载神器之Fresco-加载图片基础

欢迎关注作者darryrzhong,更多干货等你来拿哟.

请赏个小红心!因为你的鼓励是我写作的最大动力!
更多精彩文章请关注

个人博客:darryrzhong

掘金

简书

SegmentFault

慕课网手记

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/14861.html

相关文章

  • 图片处理工具

    摘要:但是我们还是发现至少有两个问题,以为例,第一,当需求变动,你最全面详解图像处理的最重要类之一。将图片存储到一个特殊的区域,避免了。 Android7.0 完美适配——FileProvider 拍照裁剪全解析 适配 android7.0 中的拍照相册裁剪功能 使用 photoView 实现可点击放大到全屏显示的控件,效果类似于微信朋友圈点开看大图 使用 photoView 实现可点击放大...

    wangxinarhat 评论0 收藏0
  • 图片处理工具 - 收藏集 - 掘金

    摘要:图片预览工具掘金仿微信的图片预览工具这是一个仿朋友圈的列表。加载图片工具使处理发送大图掘金什么是就是内存溢出,即。图片加载框架最详细的使用指南掘金写在前面中有几个比较有名的图片加载框架,和。 Android 图片预览工具 - Android - 掘金仿微信的图片预览工具 01.png 这是一个仿朋友圈的列表。 加载图片工具使... 处理 Android 发送大图 OOM - Andro...

    AbnerMing 评论0 收藏0
  • Android开源

    摘要:的出现可以追溯到去年下拉刷新库,这一个就够了新鲜出炉的开源库。知乎开源,简洁,易用,不错的图片选择库。年初你绝对想尝试的个新安卓库这是一份年,月份发布的个最佳安卓库的列表,你应该会喜欢,虽然是按顺序排列的,但排名不分先后。 UI 之自定义 Behavior 实现 AppBarLayout 越界弹性效果 使用自定义 Behavior 实现 AppBarLayout 的弹性越界效果 仅需一...

    李涛 评论0 收藏0
  • Android常用图片加载介绍及对比

    摘要:前言图片加载在开发项目中是必不可少的,为了降低开发周期和难度,我们经常会选用一些图片加载的开源库,而发展到现在图片加载开源库也越来越多了,下面介绍几种开发中主流的图片加载框架以及他们之间的对比优缺点。 前言 图片加载在 Android开发项目中是必不可少的,为了降低开发周期和难度,我们经常会选用一些图片加载的开源库,而Android发展到现在图片加载开源库也越来越多了,下面介绍几种开发...

    Yangyang 评论0 收藏0
  • 知识 - 收藏集 - 掘金

    摘要:进程间通信详解掘金最近项目有进程间通信的需求,我使用的是通信的方式,这是中很传统的一种进程间通信的方式,在这里分享给大家。使用图片加载框架最详细的使用指南掘金写在前面中有几个比较有名的图片加载框架,和。 Android 进程间通信 AIDL详解 - 掘金最近项目有进程间通信的需求,我使用的是IPC通信的方式,这是Android中很传统的一种进程间通信的方式,在这里分享给大家。 进程间通...

    loonggg 评论0 收藏0

发表评论

0条评论

王伟廷

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<