Android中使用fresco加载图片
16lz
2021-01-26
首先当然还是导入依赖包
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" />
其中可以定义的属性多种多样例如
"@+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的简单的应用
更多相关文章
- Android(安卓)Intent应用
- Android(安卓)Input(一)-相关模块初始化
- android — JNI注册方法说明
- Android(安卓)初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
- 深入理解SharedPrefences实现原理
- Android(安卓)?Pixelflinger 研究
- android 中FragmentActivity中模拟返回键返回上一个Activity效果
- 【从源码看Android】01从Looper说起
- 【学习笔记】Android中Service通信