使用Fresco实现简单的显示一张图片-阿里云开发者社区

开发者社区> 啊啊啊88jdk> 正文

使用Fresco实现简单的显示一张图片

简介: 使用Fresco实现显示一张图片 仅仅是下载一张图片,在下载完之前,先显示一张站位图 效果图 源码 下载地址(Android Studio工程):http://download.
+关注继续查看

使用Fresco实现显示一张图片

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

效果图

P

源码

下载地址(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);
    }
}

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
用CSS新属性实现特殊的图片显示效果
使用一个或多个图像相关的CSS属性(background-blend-mode, mix-blend-mode, or filter)可以实现许多特殊的图片显示效果。本文转载自Bennett Feely的个人网站,文中共列举了20种图片显示效果。
782 0
关于wordpress主题、插件上传和下载问题及其上传图片权限问题解决方案
主题官方下载地址:https://wordpress.org/themes/ 插件官方下载地址: https://wordpress.org/plugins/ 主题的上传下载,无疑是需要ftp服务器的。
1879 0
使用 NodeJS+Express+MySQL 实现简单的增删改查
关于node.js暂时记录如下,以后有时间一定学习 文章来自简书,作者:sprint,2016-07 使用 Node.js + Express+MySQL 实现简单的增删改查 https://www.jianshu.
2472 0
谷歌百度以图搜图 "感知哈希算法" C#简单实现
/// /// 感知哈希算法 /// public class ImageComparer { /// /// 获取图片的Hashcode /// /// /// public static string GetImageHashCode(string imageName) { int width = 8; int height = 8; // 第一步 // 将图片缩小到8x8的尺寸,总共64个像素。
1611 0
如何实现一个循环显示超长图片的控件
*本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 某次被问到如何实现一个滚筒状的控件,就是可以将一张很长的图片沿着Y轴无限旋转,如下图所示: 大概就是这个意思,当时还不知道图片可以裁剪,想不出整个流程怎么搞,后来得知Bitmap有裁剪功能,才想到这个功能怎么实现,花了一下午时间整了一下有了成果。
858 0
WAF的简单介绍及实现
WAF的简单介绍及实现
171 0
Progress进度查看器是一个可以显示Linux命令的工具
Progress进度查看器是一个可以显示Linux命令的工具
381 0
206
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载