Fresco-的简单实用

来源:互联网 发布:mac怎么装虚拟机 编辑:程序博客网 时间:2024/06/06 01:42

首先我们在工程中的build.gradle导一个依赖

compile 'com.facebook.fresco:fresco:0.11.0'
 我们写一个MyApp继承Application

package com.xxx.fresco_sy;import android.app.Application;import com.facebook.drawee.backends.pipeline.Fresco;public class MyApp extends Application {    @Override    public void onCreate() {        super.onCreate();        Fresco.initialize(this);    }}
我们写一个xml

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    xmlns:fresco="http://schemas.android.com/apk/res-auto"    tools:context="com.xxx.fresco_sy.MainActivity">    <com.facebook.drawee.view.SimpleDraweeView        android:layout_width="400dp"        android:layout_height="match_parent"        android:id="@+id/sdv"        fresco:placeholderImage="@mipmap/ic_launcher"/></RelativeLayout>

然后我们在MainActivity中加载一个网上的图片

package com.xxx.fresco_sy;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 {    private  SimpleDraweeView sdv;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //找控件        sdv = (SimpleDraweeView) findViewById(R.id.sdv);        Uri uri =  Uri.parse("http://dynamic-image.yesky.com/740x-/uploadImages/2015/163/50/690V3VHW0P77.jpg");        DraweeController controller = Fresco.newDraweeControllerBuilder()                .setUri(uri)                .setAutoPlayAnimations(true)                .build();        sdv.setController(controller);    }}

最后不要忘记在我们的清单文件中加上网络请求和MyApp的

<uses-permission android:name="android.permission.INTERNET"></uses-permission>
android:name=".MyApp"

drawee支持如下属性:

fresco:fadeDuration="300" // 淡入淡出的持续时间fresco:actualImageScaleType="focusCrop"  // 实际图像的缩放类型fresco:placeholderImage="@color/wait_color"  //占位图fresco:placeholderImageScaleType="fitCenter" //占位图的缩放类型fresco:failureImage="@drawable/error" //下载失败显示的图片fresco:failureImageScaleType="centerInside" //失败图的缩放类型fresco:retryImage="@drawable/retrying"//图片加载失败时显示,提示用户点击重新加载,重复加载4次还是没有加载出来的时候才会显示failureImage的图片fresco:retryImageScaleType="centerCrop" //重新加载的图片缩放类型fresco:progressBarImage="@drawable/progress_bar" //进度条图片fresco:progressBarImageScaleType="centerInside"fresco:progressBarAutoRotateInterval="1000"//进度图自动旋转间隔时间(单位:毫秒ms)fresco:backgroundImage="@color/blue"//背景图片,这里的背景图片首先被绘制fresco:overlayImage="@drawable/watermark"// 设置叠加图,在xml中只能设置一张叠加图片,如果需要多张图片的话,需要在java代码中设置哦fresco:pressedStateOverlayImage="@color/red"// 设置点击状态下的叠加图fresco:roundAsCircle="false" //设置为圆形图fresco:roundedCornerRadius="1dp" // 圆角半径fresco:roundTopLeft="true" // 左上角是否为圆角fresco:roundTopRight="false"fresco:roundBottomLeft="false"fresco:roundBottomRight="true"fresco:roundWithOverlayColor="@color/corner_color"fresco:roundingBorderWidth="2dp" //边框的宽度fresco:roundingBorderColor="@color/border_color" //边框颜色



原创粉丝点击