Android中使用fresco加载图片

来源:互联网 发布:经纬度换算坐标软件 编辑:程序博客网 时间:2024/06/05 15:11

首先当然还是导入依赖包

compile 'com.facebook.fresco:fresco:1.5.0'

加载图片之前,你必须初始化Fresco类。你只需要调用Fresco.initialize一次即可完成初始化,在 Application 里面做这件事再适合不过了(如下面的代码),注意多次的调用初始化是无意义的。记着注册

public class App extends Application {    @Override    public void onCreate() {        super.onCreate();        Fresco.initialize(this);    }}

组件使用SimpleDraweeView,记着定义宽高

<com.facebook.drawee.view.SimpleDraweeView    android:id="@+id/my_image_view"    android:layout_width="130dp"    android:layout_height="130dp"    fresco:placeholderImage="@drawable/my_drawable"  />

其中可以定义的属性多种多样例如

<com.facebook.drawee.view.SimpleDraweeView  android:id="@+id/my_image_view"  android:layout_width="20dp"  android:layout_height="20dp"  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"  fresco:retryImageScaleType="centerCrop"  fresco:progressBarImage="@drawable/progress_bar"  fresco:progressBarImageScaleType="centerInside"  fresco:progressBarAutoRotateInterval="1000"  fresco:backgroundImage="@color/blue"  fresco:overlayImage="@drawable/watermark"  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"/>

最后就是调用了

myViewHolder.iv.setImageURI("http://img.gank.io/fef497ed-83ba-46f6-8a94-0e7b724e1c10");

还有就是动图,导入依赖

compile 'com.facebook.fresco:animated-gif:1.5.0'

初始化和上面的一样,别忘注册
然后是布局

<com.facebook.drawee.view.SimpleDraweeView        fresco:placeholderImage="@mipmap/ic_launcher"        fresco:fadeDuration="5000"        fresco:failureImage="@mipmap/ic_launcher"        android:layout_width="150dp"        android:layout_height="150dp"        android:id="@+id/iv"/>

5000是多少秒后播放

最后是调用

        String s = list.get(position);        Uri uri = Uri.parse(s);        DraweeController draweeController = Fresco.newDraweeControllerBuilder()                .setUri(uri)                .setAutoPlayAnimations(true) // 设置加载图片完成后是否直接进行播放                .build();        myViewHolder.iv.setController(draweeController);

s是动图的网址

以上就是freco的简单的应用

阅读全文
0 0