1. 程式人生 > >圖片載入利器Picasso 解析

圖片載入利器Picasso 解析

先用用

        //原圖
        Picasso.with(this).load(imgWebSite).into(imageView);
        //其根據resize的比例關係來改變原圖,雖然原圖完整的在resize的範圍中顯示了,但圖形已經失真了
        Picasso.with(this).load(imgWebSite).resize(200, 200).networkPolicy(NetworkPolicy.OFFLINE).error(R.drawable.ic_launcher).into(imageView2);
        //centerCrop 它保證將resize的範圍給填充滿,是按照原圖的比率來壓縮的,超出的部分則裁剪掉,裁剪是中心對其只裁剪邊緣部分,
Picasso.with(this).load(imgWebSite).resize(200, 200).centerCrop().into(imageView4); //centerInside 的意義在於 它不對圖片進行裁剪,而是在原圖的尺寸比例之下壓縮圖片,使得在resize要求的尺寸範圍下能夠完整的顯示圖片。那麼實際下顯示的圖片會等於或小於resize的尺寸。 Picasso.with(this).load(imgWebSite).resize(200, 200).centerInside().into(imageView5); /** * placeholder 就是正在下載圖片的過程中顯示的內容。 */
Picasso.with(this).load(errImgWebSite).placeholder(R.drawable.idx_logo).error(R.drawable.ic_launcher).into(imageView3); /** * 策略: * NO_STORE 不將結果存入Cache中,也意味著每次都需要重新從網路上獲取。 * NO_CACHE 強制從網路上獲取,不去檢查快取裡有沒有。 * OFFLINE 只從cache中去找,即使網路ok,也不從網路上獲取。 */
Picasso.with(this).load(imgWebSite2).resize(200, 200).centerCrop().networkPolicy(NetworkPolicy.OFFLINE).error(R.drawable.ic_launcher).into(imageView6);

一些問題

原始碼解析

先佔個坑