使用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);
    }
}
相关文章
|
8月前
|
机器学习/深度学习 人工智能 自然语言处理
AI训练师入行指南(四):模型训练
本文以“从璞玉到珍宝”为喻,深入探讨AI模型训练的全过程。数据集是灵魂原石,领域适配性、质量和规模决定模型高度;优化器如刻刀手法,学习率调整和正则化确保精细雕刻;超参数优化与多模态注意力机制提升性能。通过案例解析(如DeepSeek-Chat、通义千问),展示特定数据如何塑造专属能力。最后提供避坑工具箱,涵盖过拟合解决与资源不足应对策略,强调用`torch.save()`记录训练历程,助力打造智能传世之作。
570 0
|
分布式计算 并行计算 大数据
NumPy 并行计算与分布式部署
【8月更文第30天】随着数据量的不断增长,传统的单机计算模型已经难以满足对大规模数据集处理的需求。并行和分布式计算成为了处理这些大数据集的关键技术。虽然 NumPy 本身并不直接支持并行计算,但可以通过结合其他库如 Numba 和 Dask 来实现高效的并行和分布式计算。
212 1
|
机器学习/深度学习 数据采集 数据挖掘
11种经典时间序列预测方法:理论、Python实现与应用
本文将总结11种经典的时间序列预测方法,并提供它们在Python中的实现示例。
2614 2
11种经典时间序列预测方法:理论、Python实现与应用
|
前端开发
react函数式组件模拟几个生命周期
在函数式组件中,你可以使用 useEffect 钩子来模拟类组件中的一些生命周期方法。下面是几个常见的生命周期方法的模拟示例
|
C# 容器 Android开发
WPF字体图标——IconFont
原文:WPF字体图标——IconFont 版权声明:本文为【CSDN博主:松一160】原创文章,未经允许不得转载。 https://blog.csdn.net/songyi160/article/details/54894233 一、字体图标概述 ①字体图标其实就是把矢量图形打包到字体文件里,以后就可以像使用一般外置字体一样的使用它,因此Winform、WPF中都是可以用的。
2738 0
|
Linux C语言 C++
linux想做单细胞想下载Seurat,依赖包stringi要怎么安装
`stringi`是R语言中一个基于C/C++的二进制包,处理字符串操作,特别是国际化和本地化。安装时在不同平台上可能遇到麻烦,如GCC版本、网络或库版本问题。解决方法包括检查GCC版本、尝试使用Conda或按照官方指南配置。当网络导致下载失败时,可手动下载ICUDT并本地安装。本文提供了一种通过下载源码、解压、构建及安装的步骤来解决安装问题。
415 0
|
Android开发
Android RecyclerView实现吸顶动态效果,详细分析
Android RecyclerView实现吸顶动态效果,详细分析
|
前端开发 JavaScript API
react 如何创建全局变量
在 React 应用中创建全局变量一般有两种方式: 常规 JavaScript 方式
1873 0
|
JavaScript 数据安全/隐私保护
Node.js使用jsrsasign实现SHA256withRSA加密算法
Node.js使用jsrsasign实现SHA256withRSA加密算法
1281 0
|
Java 测试技术 API
Android透明状态栏和导航栏方案最终版
Android透明状态栏和导航栏方案最终版
1528 0