一殿如、引入fresco
dependencies{compile'com.facebook.fresco:fresco:0.12.0'}
二雪标、開(kāi)始使用
1.在加載圖片之前筷狼,你必須初始化Fresco類动看。你只需要調(diào)用Fresco.initialize一次即可完成初始化裕偿,在Application的onCreate里面做這件事再適合不洞慎;
2.聲明 ?internet權(quán)限
3.在xml布局文件中, 加入命名空間:xmlns:fresco="http://schemas.android.com/apk/res-auto";
4.加入SimpleDraweeView:
5.開(kāi)始加載圖片:
Uri uri=Uri.parse("https://raw.githubusercontent.com/facebook/fresco/gh-pages/static/logo.png");
SimpleDraweeView ?draweeView=(SimpleDraweeView)findViewById(R.id.my_image_view);
draweeView.setImageURI(uri);
三嘿棘、支持的URI
Fresco 支持許多URI格式劲腿。
特別注意:Fresco不支持相對(duì)路徑的URI. 所有的 URI 都必須是絕對(duì)路徑,并且?guī)显?URI 的 scheme鸟妙。
如下:
類型SCHEME示例
遠(yuǎn)程圖片http://,https://
本地文件file://
Contentprovider ?content://
asset目錄下的資源asset://
res目錄下的資源res://
Uri中指定圖片數(shù)據(jù)data:mime/type;base64,數(shù)據(jù)類型必須符合rfc2397規(guī)定(僅支持 UTF-8)
res 示例:
Uri uri = Uri.parse("res://包名(實(shí)際可以是任何字符串甚至留空)/" + R.drawable.ic_launcher);
四焦人、在XML中使用Drawees
你必須聲明android:layout_width和android:layout_height。如果沒(méi)有在XML中聲明這兩個(gè)屬性重父,將無(wú)法正確加載圖像花椭。
XML屬性意義
fadeDuration淡入淡出動(dòng)畫(huà)持續(xù)時(shí)間(單位:毫秒ms)
actualImageScaleType實(shí)際圖像的縮放類型
placeholderImage占位圖
placeholderImageScaleType占位圖的縮放類型
progressBarImage進(jìn)度圖
progressBarImageScaleType進(jìn)度圖的縮放類型
progressBarAutoRotateInterval進(jìn)度圖自動(dòng)旋轉(zhuǎn)間隔時(shí)間(單位:毫秒ms)
failureImage失敗圖
failureImageScaleType失敗圖的縮放類型
retryImage重試圖
retryImageScaleType重試圖的縮放類型
backgroundImage背景圖
overlayImage疊加圖
pressedStateOverlayImage按壓狀態(tài)下所顯示的疊加圖
roundAsCircle設(shè)置為圓形圖
roundedCornerRadius圓角半徑
roundTopLeft左上角是否為圓角
roundTopRight右上角是否為圓角
roundBottomLeft左下角是否為圓角
roundBottomRight右下角是否為圓角
roundingBorderWidth圓形或者圓角圖邊框的寬度
roundingBorderColor圓形或者圓角圖邊框的顏色
roundWithOverlayColor圓形或者圓角圖底下的疊加顏色(只能設(shè)置顏色)
viewAspectRatio控件縱橫比
可用的縮放類型
center居中,無(wú)縮放房午。
centerCrop保持寬高比縮小或放大个从,使得兩邊都大于或等于顯示邊界,且寬或高契合顯示邊界歪沃。居中顯示嗦锐。
focusCrop同centerCrop, 但居中點(diǎn)不是中點(diǎn),而是指定的某個(gè)點(diǎn)沪曙。
centerInside縮放圖片使兩邊都在顯示邊界內(nèi)奕污,居中顯示。和fitCenter不同液走,不會(huì)對(duì)圖片進(jìn)行放大碳默。
如果圖尺寸大于顯示邊界贾陷,則保持長(zhǎng)寬比縮小圖片。
fitCenter保持寬高比嘱根,縮小或者放大髓废,使得圖片完全顯示在顯示邊界內(nèi),且寬或高契合顯示邊界该抒。居中顯示慌洪。
fitStart同上。但不居中凑保,和顯示邊界左上對(duì)齊冈爹。
fitEnd同fitCenter, 但不居中欧引,和顯示邊界右下對(duì)齊频伤。
fitXY不保存寬高比,填充滿顯示邊界芝此。
none如要使用tile mode顯示, 需要設(shè)置為none