Fresco基本使用

注:還有許多其他功能路星,可查看官方文檔橄唬。

1.在application中初始化:Fresco.initialize(this);

2.使用SimpleDraweeView代替ImageView赎瞎,同時(shí)Fresco不支持wrap_content屬性揍很,必須有明確的寬和高
在使用SimpleDraweeView時(shí),最好一個(gè)imageview的屬性都不要在使用

3.SimpleDraweeView的屬性設(shè)置:
在布局文件中設(shè)置:
fresco:placeholderImage="@mipmap/icon_placeholder"http://設(shè)置占位圖
fresco:placeholderImageScaleType="fitCenter"http://設(shè)置占位圖片縮放類型
fresco:actualImageScaleType="focusCrop"http://實(shí)際圖片縮放類型
fresco:progressBarImage="@mipmap/icon_progress_bar"http://正在加載的圖片
fresco:progressBarImageScaleType="centerInside"http://正在加載圖片的縮放類型
fresco:progressBarAutoRotateInterval="5000"http://正在加載圖的旋轉(zhuǎn)間隔辆雾,直到實(shí)際圖加載完畢
fresco:failureImage="@mipmap/icon_failure"http://加載失敗顯示的圖片
fresco:failureImageScaleType="centerInside"http://失敗顯示的圖片的類型
fresco:retryImage="@mipmap/icon_retry"http://失敗重試的圖片------和加載失敗的圖片一起設(shè)置肪笋,當(dāng)失敗一定次數(shù)后不顯示重試圖片,顯示加載失敗圖片
fresco:retryImageScaleType="centerCrop"http://失敗重試的圖片的縮放類型
fresco:fadeDuration="5000"http://淡進(jìn)淡出動畫時(shí)間度迂,毫秒
fresco:backgroundImage="@android:color/holo_orange_light"http://背景圖
//疊加圖顯示在最上面
fresco:pressedStateOverlayImage="@android:color/holo_green_dark"http://按壓下顯示的疊加圖
fresco:overlayImage="@android:color/black"http://疊加圖

//同時(shí)設(shè)置圓形和圓角時(shí)藤乙,顯示為圓形圖
fresco:roundAsCircle="true"http://是否是圓形圖

fresco:roundedCornerRadius="30dp"http://設(shè)置圓角半徑
//分別設(shè)置4個(gè)角是否是圓形圖
fresco:roundTopLeft="true"
fresco:roundTopRight=""
fresco:roundBottomLeft=""
fresco:roundBottomRight=""
//給圓形圖加邊框
fresco:roundingBorderWidth="10dp"http://設(shè)置邊框?qū)挾?br> fresco:roundingBorderColor="@android:color/black"http://設(shè)置邊框顏色

fresco:roundWithOverlayColor="@android:color/darker_gray"http://圓形和圓角圖的疊加顏色,就是在方形控件惭墓,圖片空白區(qū)域顯示的顏色

    注意:不能直接設(shè)置實(shí)際需要顯示的圖片坛梁,但是可以設(shè)置占位圖,作為圖片顯示

使用失敗重試時(shí)腊凶,需要設(shè)置DraweeController :
//創(chuàng)建DraweeController
DraweeController controller = Fresco.newDraweeControllerBuilder()
//加載的圖片URI地址
.setUri(imageUri)
//設(shè)置點(diǎn)擊重試是否開啟
.setTapToRetryEnabled(true)
//設(shè)置舊的Controller划咐,可以減少不必要的浪費(fèi)
.setOldController(simpleDraweeView.getController())
//構(gòu)建
.build();

    //設(shè)置DraweeController
    simpleDraweeView.setController(controller);




    XML屬性   意義
    fadeDuration    淡入淡出動畫持續(xù)時(shí)間(單位:毫秒ms)
    actualImageScaleType    實(shí)際圖像的縮放類型
    placeholderImage    占位圖
    placeholderImageScaleType   占位圖的縮放類型
    progressBarImage    進(jìn)度圖
    progressBarImageScaleType   進(jìn)度圖的縮放類型
    progressBarAutoRotateInterval   進(jìn)度圖自動旋轉(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     控件縱橫比



    縮放類型—ScaleType:
    類型  描述
    center  居中拴念,無縮放
    centerCrop  保持寬高比縮小或放大,使得兩邊都大于或等于顯示邊界褐缠。居中顯示政鼠。
    focusCrop   同centerCrop, 但居中點(diǎn)不是中點(diǎn),而是指定的某個(gè)點(diǎn)
    centerInside    使兩邊都在顯示邊界內(nèi)队魏,居中顯示公般。如果圖尺寸大于顯示邊界,則保持長寬比縮小圖片胡桨。
    fitCenter   保持寬高比官帘,縮小或者放大,使得圖片完全顯示在顯示邊界內(nèi)登失。居中顯示
    fitStart    同上遏佣。但不居中挖炬,和顯示邊界左上對齊
    fitEnd  同fitCenter揽浙, 但不居中,和顯示邊界右下對齊
    fitXY   不保存寬高比意敛,填充滿顯示邊界
    none    如要使用tile mode顯示, 需要設(shè)置為none


    推薦使用:focusCrop 類型馅巷,可以在代碼中通過mSimpleDraweeView.getHierarchy();然后setActualImageFocusPoint設(shè)置中心點(diǎn)

4.在代碼中可以設(shè)置的:
需要在代碼中修改占位圖等東西需要使用mSimpleDraweeView.getHierarchy()來修改。

顯示Gif
a.設(shè)置Gif圖片自動播放
    Uri uri;
    DraweeController controller = Fresco.newDraweeControllerBuilder()
        .setUri(uri)
        .setAutoPlayAnimations(true)
        . // 其他設(shè)置(如果有的話)
        .build();
    mSimpleDraweeView.setController(controller);

b.手動控制動畫圖播放

5.混淆
a.在gradle中添加:
android {
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-fresco.pro'
}
}
}
b.在混淆文件中添加

Keep our interfaces so they can be used by other ProGuard rules.

See http://sourceforge.net/p/proguard/bugs/466/

-keep,allowobfuscation @interface com.facebook.common.internal.DoNotStrip

Do not strip any method/class that is annotated with @DoNotStrip

-keep @com.facebook.common.internal.DoNotStrip class *
-keepclassmembers class * {
@com.facebook.common.internal.DoNotStrip *;
}

Keep native methods

-keepclassmembers class * {
native <methods>;
}

-dontwarn okio.**
-dontwarn com.squareup.okhttp.**
-dontwarn okhttp3.**
-dontwarn javax.annotation.**
-dontwarn com.android.volley.toolbox.**

Works around a bug in the animated GIF module which will be fixed in 0.12.0

-keep class com.facebook.imagepipeline.animated.factory.AnimatedFactoryImpl {
public AnimatedFactoryImpl(com.facebook.imagepipeline.bitmaps.PlatformBitmapFactory,com.facebook.imagepipeline.core.ExecutorSupplier);
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末草姻,一起剝皮案震驚了整個(gè)濱河市钓猬,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌撩独,老刑警劉巖敞曹,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異综膀,居然都是意外死亡澳迫,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進(jìn)店門剧劝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來橄登,“玉大人,你說我怎么就攤上這事讥此÷G拢” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵萄喳,是天一觀的道長卒稳。 經(jīng)常有香客問我,道長他巨,這世上最難降的妖魔是什么展哭? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任湃窍,我火速辦了婚禮,結(jié)果婚禮上匪傍,老公的妹妹穿的比我還像新娘您市。我一直安慰自己,他們只是感情好役衡,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布茵休。 她就那樣靜靜地躺著,像睡著了一般手蝎。 火紅的嫁衣襯著肌膚如雪榕莺。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天棵介,我揣著相機(jī)與錄音钉鸯,去河邊找鬼。 笑死邮辽,一個(gè)胖子當(dāng)著我的面吹牛唠雕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播吨述,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼岩睁,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了揣云?” 一聲冷哼從身側(cè)響起捕儒,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎邓夕,沒想到半個(gè)月后刘莹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡焚刚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年点弯,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片汪榔。...
    茶點(diǎn)故事閱讀 39,919評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蒲拉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出痴腌,到底是詐尸還是另有隱情雌团,我是刑警寧澤,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布士聪,位于F島的核電站锦援,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏剥悟。R本人自食惡果不足惜灵寺,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一曼库、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧略板,春花似錦毁枯、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至瓤檐,卻和暖如春赂韵,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背挠蛉。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工祭示, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人谴古。 一個(gè)月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓质涛,卻偏偏與公主長得像,于是被迫代替她去往敵國和親讥电。 傳聞我的和親對象是個(gè)殘疾皇子蹂窖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Fresco簡單的使用—SimpleDraweeView 百學(xué)須先立志—學(xué)前須知: 在我們平時(shí)加載圖片(不管是下載...
    天天大保建閱讀 3,421評論 0 8
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,116評論 25 707
  • 1. 圖像_UIL 主頁: https://github.com/nostra13/Android-Univers...
    麋鹿原閱讀 1,591評論 0 5
  • 在農(nóng)村長大灯蝴,一直很喜歡農(nóng)村恢口,喜歡這片土地,喜歡清新的空氣穷躁,喜歡樹葉的清香耕肩,喜歡花草的芬芳,喜歡悠然自得的節(jié)奏问潭,更喜...
    zhaokeke閱讀 741評論 3 7
  • 文/陳澤坤 好特別的一個(gè)晚上 一百毫米的降水量 穿過雷電和大風(fēng) 去做一個(gè)快樂的人 想在雷電下和大風(fēng)里瘋狂地吻你 給...
    陳澤坤閱讀 275評論 1 11