初識Facebook的強大Android圖片載入的框架:Fresco
Fresco是facebook推出的一款強大的圖片載入的框架,這個框架出來一段時間了,前一段時間使用過了ImageLoader的框架,生命在於折騰,今天就來折騰一下Fresco這個強大的框架。
1.配置環境
由於我用的是android studio所以這裡就只是說一下android studio下如何配置,在強大的gradle,只需要一句話搞定,gradle會幫你下載這個Fresco框架,gradle真好,可以自動維護你專案中的框架
compile 'com.facebook.fresco:fresco:0.5.0+'
2.開始使用Fresco
因為我這裡載入的是一張網路圖片,所以要獲得網路許可權
<uses-permission android:name="android.permission.INTERNET"/>
初始化Fresco,如果專案中多處用到Fresco,就直接在application中初始化,如果我只是寫著玩玩,直接放在activity中的setContentView()的前面就ok了
Fresco.initialize(context);
用人家的框架就要按照人家的要求來是不,所以控制元件名字,名稱空間都要聽人家的
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:fresco="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <com.facebook.drawee.view.SimpleDraweeView android:id="@+id/image_view" android:layout_width="300dp" android:layout_height="300dp" fresco:placeholderImage="@mipmap/ic_launcher"/> </LinearLayout>
當然你也可以不寫它的名稱空間,用裡面的屬性的時候加上去,不用就別給自己找麻煩了,直接幹掉給控制元件uri就ok了
Uri uri = Uri.parse("http://pic1.nipic.com/2008-09-08/200898163242920_2.jpg"); imageView.setImageURI(uri);
ok,剩下的圖片下載,快取,圖片移除就交給Fresco了,是不是很強大,但這裡有一個問題,你的控制元件的大小必須確定,不能想以前直接使用wrap_content,當然你也可以設定寬高中的一個值,但是要設定寬高比
imageView.setAspectRatio(1.0f);
當然上面說到它強大了,強大就不止只是載入網路圖片吧,它本身也支援本地,Content Provider,asset,res的圖片
本地:file:// Content provider:content:// asset: asset:// res: res://,就是讓你拼一個uri
當然上面提到的SimpleDraweeView只是Drawee其中的控制元件,沒有什麼很特別的需求使用它就夠了,下面貼一下它裡面的一些屬性,方便食用的時候查詢
<com.facebook.drawee.view.SimpleDraweeView android:id="@+id/image_view" android:layout_width="300dp" android:layout_height="300dp" 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" />
簡單介紹一下上面的屬性:
placeholderImage就是所謂的展點陣圖啦,在圖片沒有載入出來之前你看到的就是它
failureIamge看到名字就知道是什麼了,圖片載入失敗時顯示的圖片就是它了
retryImage圖片載入失敗時顯示,提示使用者點選重新載入,重複載入4次還是沒有載入出來的時候才會顯示failureImage的圖片
progressBarImage進度條圖片
backgroundImage背景圖片,這裡的背景圖片首先被繪製
overlayImage設定疊加圖,在xml中只能設定一張疊加圖片,如果需要多張圖片的話,需要在java程式碼中設定哦
pressedStateOverlayImage設定點選狀態下的疊加圖,此疊加圖不能縮放
ImageScaleType這個就是各種各樣的圖片縮放樣式了,center,centerCrop,fouseCrop,centerInside,fitCenter,fitStart,fitEnd,fitXY
剩下的就是對圓角的處理了…
相關文章
- FaceBook推出的Android圖片載入庫FrescoAndroid
- Android圖片載入的框架Fresco使用詳解Android框架
- Android圖片載入框架Fresco使用詳解Android框架
- 自動釋放記憶體!Facebook推出強大Android圖片庫Fresco記憶體Android
- Fresco圖片載入的簡單應用
- Android 圖片載入框架Android框架
- Android使用Fresco之下載圖片(包括GIF圖)Android
- Android圖片載入開源庫深度推薦,安利FrescoAndroid
- 記一次Fresco載入圖片失敗的分析
- android glide圖片載入框架AndroidIDE框架
- Android 框架練成 教你打造高效的圖片載入框架Android框架
- Android 載入大圖片,不壓縮圖片Android
- Android ImageLoader框架之圖片載入與載入策略Android框架
- android 載入大量圖片Android
- Android圖片載入-Glide4.0框架封裝AndroidIDE框架封裝
- Android 載入大圖片時報OOM的解決方案(原始碼)AndroidOOM原始碼
- 要優雅!Android中這樣載入大圖片和長圖片Android
- android基礎知識:Google提供的高效載入大圖方案AndroidGo
- Android 高效安全載入圖片Android
- 圖片載入框架Picasso - 原始碼分析框架原始碼
- 圖片載入框架Picasso原始碼分析框架原始碼
- Android 圖片載入框架 Picasso 基本使用和原始碼完全解析Android框架原始碼
- 圖片載入框架-Picasso最詳細的使用指南框架
- Android兩種簡單的載入GIF圖片的方法Android
- 如何實現一個圖片載入框架框架
- 載入圖片的問題
- Android圖片載入框架Picasso原始碼分析(基於Picasso 2.71828)Android框架原始碼
- [譯] 在Android中高效的載入大圖Android
- FaceBook開源庫Fresco
- ppt圖片太大載入速度慢怎麼辦 ppt大圖加速載入的方法
- Android 基礎之圖片載入(二)Android
- Android偽圖片載入進度效果Android
- Android有效解決載入大圖片時記憶體溢位的問題Android記憶體溢位
- Vue中圖片的載入方式Vue
- Picasso 載入圖片的流程分析
- 美化載入失敗的圖片
- 圖片下載框架概述框架
- javascript圖片懶載入與預載入的分析JavaScript