Fresco的使用<一>[通俗易懂]

Fresco的使用<一>

大家好,又见面了,我是全栈君。

目录(?)[+]

引入Fresco

dependencies {
  // 添加依赖 compile 'com.facebook.fresco:fresco:0.13.0' }

开始使用 Fresco

1.进行全局初始化,添加网络权限

// 需要在 AndroidManifest.xml 中指定你的 Application 类 // android:name=".MyApplication" public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); // onCreate()进行初始化 Fresco.initialize(this); } }

2.布局

<!-- 在xml布局文件中, 加入命名空间:--> xmlns:fresco="http://schemas.android.com/apk/res-auto"

2.1.使用控件SimpleDraweeView(不使用ImageView)

<com.facebook.drawee.view.SimpleDraweeView android:id="@+id/my_image_view" android:layout_width="130dp" android:layout_height="130dp" fresco:placeholderImage="@drawable/my_drawable" />

2.2.注意:Drawees 不支持 wrap_content 属性,只能使用固定宽高(xx dp,match_parent),如果想使用wrap_content需要配合viewAspectRatio属性来使用。

<!-- placeholderImage:占位图 placeholderImageScaleType:占位图缩放类型 viewAspectRatio:固定宽高比例 如果希望图片以特定的宽高比例显示,例如 1:1, fresco:viewAspectRatio="1" 如果是 4:3 则改为1.33 也可以在代码中指定显示比例: mSimpleDraweeView.setAspectRatio(1.33f); --> <com.facebook.drawee.view.SimpleDraweeView android:id="@+id/my_image_view" android:layout_width="match_parent" android:layout_height="wrap_content" fresco:placeholderImage="@drawable/my_drawable" fresco:placeholderImageScaleType="fitXY" fresco:viewAspectRatio="1" />

3.开始加载图片:

Uri uri = Uri.parse("https://www.baidu.com/img/bd_logo1.png"); SimpleDraweeView draweeView = (SimpleDraweeView) findViewById(R.id.my_image_view); draweeView.setImageURI(uri);

4.剩下的,Fresco会替你完成:

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



    本文转自 一点点征服   博客园博客,原文链接:

http://www.cnblogs.com/ldq2016/p/6646796.html

,如需转载请自行联系原作者


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/108071.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 华为三层交换机配置不同网段互通[通俗易懂]

    华为三层交换机配置不同网段互通[通俗易懂]CSDN上看到这样一个问题,回答后所以顺便整理一下,一般情况下,三层交换机不直接连终端端,太浪费了,可以连一个交换机然后再连终端

  • sqlite database browser 下载_数据库如何编辑所有行

    sqlite database browser 下载_数据库如何编辑所有行2019独角兽企业重金招聘Python工程师标准>>>…

  • 怎么创建数据表_sqlserver创建表的sql语句

    怎么创建数据表_sqlserver创建表的sql语句知识点:数据库表的相关概念、创建数据库表的方法、设计数据库表、向数据库表中插入数据、建立不同数据库表之间的关系、删除数据库表。1、数据表相关的一些概念1.1数据库里的数据是如何保存的?数据库到底是怎么存储数据的?比如要把学生信息存储到数据库里,能把学生塞进数据库吗?肯定是把学生的数据信息抽象出来,把一些重要信息以文字或数字的形式保存到数据库中去。…

    2022年10月25日
  • Pytorch和Torchvision版本对应

    Pytorch和Torchvision版本对应IrecommendAnacondaasPythonpackagemanagementsystem.Pleaserefertopytorch.orgforthedetailofPyTorch(torch)installation.ThefollowingisthecorrespondingtorchvisionversionsandsupportedPythonversions:

  • 深度学习 — BP算法详解(误差反向传播算法)「建议收藏」

    深度学习 — BP算法详解(误差反向传播算法)「建议收藏」本节开始深度学习的第一个算法BP算法,本打算第一个算法为单层感知器,但是感觉太简单了,不懂得找本书看看就会了,这里简要的介绍一下单层感知器:图中可以看到,单层感知器很简单,其实本质上他就是线性分类器,和机器学习中的多元线性回归的表达式差不多,因此它具有多元线性回归的优点和缺点。单层感知器只能对线性问题具有很好的解决能力,但是非线性问题就无法解决了,但是多层感知器却可以解决非线性问题,多层感…

  • android系统webview最新版本_webview加载h5页面空白

    android系统webview最新版本_webview加载h5页面空白做android聊天时,遇到过一个问题,h5的页面发送的图片在android端不能响应,ios那边一路畅通。也是相当无奈,目前发现了好多android端与ios端webView的异同。android端与ios确的不同大致包括:1:android不能直接打开html的下载文件,需要先下载保存本地在打开本地文件2:android不能直接打开pdf文件,同样要下载再打开3:如题,h5页面的发送图片按钮点…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号