网络请求加载图片需要网络权限:
<uses-permission android:name="android.permission.INTERNET"/>
需要导入依赖:
compile 'com.facebook.fresco:fresco:1.3.0'-------------------MainActivity-------------------------
package com.example.earl.fresco;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.facebook.drawee.backends.pipeline.Fresco;
import com.facebook.drawee.interfaces.DraweeController;
import com.facebook.drawee.view.SimpleDraweeView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Fresco的初始化,必须调用在setContentView之前
Fresco.initialize(this);
setContentView(R.layout.activity_main);
initView();
}
private void initView() {
//创建SimpleDraweeView对象
SimpleDraweeView simpleDraweeView = findViewById(R.id.main_sdv);
//创建将要下载图片的url
Uri imgUri = Uri.parse("http://img2.imgtn.bdimg.com/it/u=3861985703,4203210535/&fm=27&gp=0.jpg");
//开始下载
simpleDraweeView.setImageURI(imgUri);
//创建DraweeController
DraweeController controller = Fresco.newDraweeControllerBuilder()
//加载的图片URI地址
.setUri(imgUri)
//设置点击重试是否开启
.setTapToRetryEnabled(true)
//设置旧的Controller
.setOldController(simpleDraweeView.getController())
//构建
.build();
//设置DraweeController
simpleDraweeView.setController(controller);
}
}
-----------------------activity_main.xml--------------------------<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:fresco="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="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="com.example.earl.fresco.MainActivity"> <com.facebook.drawee.view.SimpleDraweeView android:id="@+id/main_sdv" android:layout_width="200dp" android:layout_height="200dp" android:layout_centerInParent="true" fresco:actualImageScaleType="focusCrop" fresco:placeholderImage="@mipmap/icon_placeholder" fresco:placeholderImageScaleType="focusCrop" fresco:progressBarImage="@mipmap/icon_progress_bar" fresco:progressBarImageScaleType="focusCrop" fresco:progressBarAutoRotateInterval="5000" fresco:failureImage="@mipmap/icon_failure" fresco:failureImageScaleType="focusCrop" fresco:retryImage="@mipmap/icon_retry" fresco:retryImageScaleType="focusCrop" fresco:fadeDuration="5000" fresco:backgroundImage="@android:color/holo_orange_light" fresco:roundWithOverlayColor="@android:color/darker_gray" fresco:roundAsCircle="true"></com.facebook.drawee.view.SimpleDraweeView> </RelativeLayout>
Fresco博客教程地址:http://blog.csdn.net/y1scp/article/details/49245535
网易有道笔记地址: http://note.youdao.com/noteshare?id=5521fbd0128ac3ca01b798776bb07f20&sub=B270250AA4F54F23B7B002A8DDC3176E