本文主要是介绍Fresco之初识,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Fresco是FaceBook推出的网络图片加载库。如果只是简单的使用的话,三步就可以完成加载
其实官方是有中文文档的Fresco中文文档,写本文只是让文字不那么冷冰冰
- 第一步:在andorid studio配置一下
compile 'com.facebook.fresco:fresco:0.6.0+'
// 在工程中初始化Fresco.initialize(this);
- 第二步:写Xml
<com.facebook.drawee.view.SimpleDraweeViewandroid:id="@+id/id_simple_drawee_view"android:layout_width="300dp"android:layout_height="300dp"/>
- 第三步 :添加网络地址
Uri uri = Uri.parse("http://ww4.sinaimg.cn/mw600/0063NJppgw1ez2p0f6852j31kw0v9aom.jpg");
simpleDraweeView.setImageURI(uri);
是的,就这么简单。Fresco就完成了网络图片的加载。它还会自动缓存到内存和本地。
那么如果想给它配置未加载,加载时,加载错误的显示图片呢,先学会在Xml中配置吧
<com.facebook.drawee.view.SimpleDraweeViewandroid:id="@+id/id_simple_drawee_view"android:layout_width="300dp"android:layout_height="300dp"fresco:placeholderImage="@drawable/default"fresco:failureImage="@drawable/error"fresco:progressBarImage="@drawable/loading"fresco:roundAsCircle="true"/>
可以看到
- placeholderImage 是 默认显示的图片
- failureImage 是 错误显示的图片
- progressBarImage 是 加载显示的图
- fresco:roundAsCircle 图片以圆形式图片
那么传说中的加载动图呢,其实也很简单
Uri uriGif = Uri.parse("http://ww1.sinaimg.cn/mw1024/b592d3a5gw1ez16ya6ui8g206q08tb29.gif");
ImageRequest imageRequest2 = ImageRequestBuilder.newBuilderWithSource(uriGif).build();DraweeController controller = Fresco.newDraweeControllerBuilder().setImageRequest(imageRequest2)//图片请求配置.setAutoPlayAnimations(true)//自动播放.build();simpleDraweeView.setController(controller);
这里突然多出一些新的概念ImageRequest和DraweeController
DraweeController 是对进行控制图片控制,如setAutoPlayAnimations(true)就是让gif加载完后自动播放
ImageRequest 是DraweeController其中一项配置,由ImageRequestBuilder生成
好,先使用在深入后理解!
贴上SimpleDraweeView的关键属性
<com.facebook.drawee.view.SimpleDraweeViewandroid: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"/>
这篇关于Fresco之初识的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!