使用Fresco实现显示一张图片

仅仅是下载一张图片,在下载完之前,先显示一张站位图

效果图

源码

下载地址(Android Studio工程):http://download.csdn.net/detail/q4878802/9067397

原文参考

官方地址:http://fresco-cn.org/docs/getting-started.html#_

主要步骤

1. 添加网络权限

<!-- 添加网络权限 -->
<uses-permission android:name="android.permission.INTERNET" />

2. 初始化Fresco

// 初始化Fresco对象
Fresco.initialize(this);

始化要在setContentView之前完成,否则会报空指针异常,找不到SimpleDraweeView控件.

3. 在显示图片的xml布局的根节点,添加命名空间

xmlns:fresco="http://schemas.android.com/apk/res-auto"

4. 添加显示图片的SimpleDraweeView控件

<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/my_image_view"
android:layout_width="300dp"
android:layout_height="match_parent"
fresco:placeholderImage="@mipmap/ic_launcher" />

这里的宽和高可以用具体的dp值,也可以用”match_parent”属性,但是不要用”wrap_content”属性

5. 加载图片

SimpleDraweeView simpleDraweeView = (SimpleDraweeView) findViewById(R.id.my_image_view);
Uri uri = Uri.parse("http://d.hiphotos.baidu.com/image/pic/item/faedab64034f78f07c22c8207d310a55b3191c33.jpg");
simpleDraweeView.setImageURI(uri);

初始化

1. 在清单文件中的application标签下添加name属性

android:name=".InitApplication"

2. 初始化类

package com.kongqw.frescodemo1;

import android.app.Application;

import com.facebook.drawee.backends.pipeline.Fresco;

/**
* Created by kongqw on 2015/8/31.
*/
public class InitApplication extends Application { @Override
public void onCreate() {
// 初始化Fresco对象
Fresco.initialize(this);
super.onCreate();
}
}

XML页面布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:fresco="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"> <com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/my_image_view"
android:layout_width="300dp"
android:layout_height="match_parent"
fresco:placeholderImage="@mipmap/ic_launcher" /> </RelativeLayout>

测试类

package com.kongqw.frescodemo1;

import android.app.Activity;
import android.net.Uri;
import android.os.Bundle; import com.facebook.drawee.view.SimpleDraweeView; public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); SimpleDraweeView simpleDraweeView = (SimpleDraweeView) findViewById(R.id.my_image_view);
Uri uri = Uri.parse("http://d.hiphotos.baidu.com/image/pic/item/faedab64034f78f07c22c8207d310a55b3191c33.jpg");
simpleDraweeView.setImageURI(uri);
}
}

使用Fresco实现简单的显示一张图片的更多相关文章

  1. @Html.Raw显示一张图片

    在ASP.NET MVC中,显示一张图片,是很方便的事情,完全可以在控制器中组合html代码,并传给视图. 下面一个简单的例子: public ActionResult HtmlRawImage() ...

  2. opencv实例一:显示一张图片

    第一个简单的实例,显示一张图片: 1)代码如下 /*************************************************************************** ...

  3. 仿AS语法来写HTML5—第1章,显示一张图片

    最近开始学习html5,因为一直都是研究as,所以还是觉得as顺眼一点,但是html5也不能不学,于是就想出了,可以把html5用as的语法来写出来,做游戏应该来的比较顺手一些,下面开始第一篇 第一篇 ...

  4. swiper轮播问题之二:默认显示3张图片,中间显示全部两边显示部分

    其二:项目遇到比较有点要求的轮播图,默认显示3张图片,中间显示全部,两边显示部分.如图: 网上找了也没有找到合适的,最后经过自己摸索写了出来,贴出代码分享给大家.         CSS .swipe ...

  5. OpenCV提取显示一张图片(或者视频)的R,G,B颜色分量

    使用OpenCV可以提分别提取显示一张图片(或者视频)的R,G,B颜色分量.效果如下. 原图: R: G: B: 示例代码如下,貌似很久以前网上找的的,逻辑很清晰,就是把R,G,B三个分量分开,然后显 ...

  6. 一段简单的显示当前页面FPS的代码

    写前端代码,尤其是做一个前端框架的时候,经常需要及时知道代码的大致性能,这时候如果能有个好的办法能一直看到当前页面的fps就好了. 整体思路是一秒有一千毫秒,先记录当前时间作为最后一次记录fps的时间 ...

  7. Python+OpenCV图像处理(一)——读取显示一张图片

    先在此处先声明,后面学习python+opencv图像处理时均参考这位博主的博文https://blog.csdn.net/u011321546/article/category/7495016/2? ...

  8. 用仿ActionScript的语法来编写html5——第一篇,显示一张图片

    第一篇,显示一张图片 一,代码对比 as代码: public var loader:Loader; public function loadimg():void{ loader = new Loade ...

  9. matplotlib 显示两张图片,折线图 和 scipy

    显示两张图片的代码: import numpy as np from scipy.misc import imread, imsave, imresize import matplotlib.pypl ...

随机推荐

  1. [TJOI2017]可乐

    题目描述 加里敦星球的人们特别喜欢喝可乐.因而,他们的敌对星球研发出了一个可乐机器人,并且放在了加里敦星球的1号城市上.这个可乐机器人有三种行为: 停在原地,去下一个相邻的城市,自爆.它每一秒都会随机 ...

  2. UVA11082:Matrix Decompressing

    题意:给定一个矩阵的前i行的和,以及前i列的和,求任意一个满足条件的矩阵,矩阵元素在[1,20] 矩阵行列<=20 题解:做一个二分图的模型,把行列拆开,然后设源点到行节点的容量就是该行所有元素 ...

  3. NOIP 2014

    Prob.1 生活大爆炸版 石头剪刀布 模拟.代码: #include<cstdio> #include<cstring> #include<iostream> u ...

  4. 【USACO15FEB】审查(黄金)Censoring (Gold)

    题目描述 Farmer John has purchased a subscription to Good Hooveskeeping magazine for his cows, so they h ...

  5. hdu 2865 Polya计数+(矩阵 or 找规律 求C)

    Birthday Toy Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tota ...

  6. 【CodeVs 6128 Lence的方块们】

    ·希望除了内部人员以外能有人通过这道题,因为这是大米饼第一次改编的题 ·我所见到的"本题原版"的题解也很少,搜索一下应该是: #include<stdio.h> #in ...

  7. MySql 时间操作实例

    SELECT NOW(6) AS '当前时间精确到微秒'; SELECT UNIX_TIMESTAMP() AS '当前时间戳',UNIX_TIMESTAMP('2018-1-1') AS '转换成时 ...

  8. MySql查询不区分大小写解决方案(两种)

    当我们输入不管大小写都能查询到数据,例如:输入 aaa 或者aaA ,AAA都能查询同样的结果,说明查询条件对大小写不敏感. 解决方案一: 于是怀疑Mysql的问题.做个实验:直接使用客户端用sql查 ...

  9. Python从入门到实践 学习笔记(二)元祖686gffs

    列表是可以修改的,而不可变的列表被称为元组 . 定义 * 用圆括号来标识.定义元组后,使用索引来访问其元素,就像访问列表元素一样 修改变量 * 不能修改元组的元素,但可以给存储元组的变量赋值 修改元素 ...

  10. CNN中的经典结构之AlexNet

    AlexNet的基本结构 Alexnet是由5个卷积层和三个全连接层组成,一共8个权重层(池化层不是权重层因为其没有参数),其中ReLU激活函数作用在每个卷积层和全连接层上,在第一个卷积层和第二个卷积 ...