Android Picasso 圖片加載庫基礎使用詳解

前言

圖片加載在 Android開發項目中是必不可少的,爲了下降開發週期和難度,咱們常常會選用一些圖片加載的開源庫,而Android發展到如今圖片加載開源庫也愈來愈多了,下面介紹 Picasso 開源圖片加載庫.android

簡介

Picasso中文翻譯爲'畢加索',由Square公司開源的一個適用於Android的強大圖像下載和緩存庫.segmentfault

功能介紹以及基礎使用

1.配置

  • 在gradle添加依賴
implementation 'com.squareup.picasso:picasso:2.71828'
  • 添加網絡權限
<uses-permission android:name="android.permission.INTERNET"/>
  • 基本使用
ImageView mImageView = (ImageView) findViewById(R.id.ImageView);
        String Url = "http:/*********";

        Picasso .with(this)
                .load(Url)
                .into(targetImageView);

2.功能介紹以及基本使用

  • 異步加載顯示圖片
ImageView targetImageView = (ImageView) findViewById(R.id.ImageView);
        String Url = "http://**********";

//Picasso使用了流式接口的調用方式
        Picasso .with(context)
                .load(Url)
                .into(targetImageView);
  • 圖片轉換

轉換圖片以適合所顯示的ImageView,來減小內存消耗緩存

Picasso.with(context)
  .load(url)
//裁剪圖片尺寸
  .resize(50, 50)
//設置圖片圓角
  .centerCrop()
  .into(imageView)
  • 加載過程當中和加載錯誤時顯示對應圖片
Picasso.with(context)
    .load(url)
//加載過程當中的圖片顯示
    .placeholder(R.drawable.user_placeholder)
//加載失敗中的圖片顯示
//若是重試3次仍是沒法成功加載圖片,則用錯誤佔位符圖片顯示。
    .error(R.drawable.user_placeholder_error)
    .into(imageView);
  • 在Adapter中的回收不在視野的ImageView和取消已經回收的ImageView下載進程網絡

@Override
public void getView(int position, View convertView, ViewGroup parent) {
SquaredImageView view = (SquaredImageView) convertView;
if (view == null) {異步

view = new SquaredImageView(context);

}
String url = getItem(position);ide

Picasso.with(context).load(url).into(view);
}gradle

* 加載多種不一樣數據源 網絡、本地、資源、Assets 等

//加載資源文件
Picasso.with(context).load(R.drawable.landing_screen).into(imageView1);
//加載本地文件
Picasso.with(context).load(new File("/images/lunch_bees.gif")).into(imageView2);this

* 默認配置自動添加磁盤和內存二級緩存功能

------------------------


至此,Picasso的基本功能和使用就介紹我完畢了,感謝閱讀

歡迎關注做者[darryrzhong](http://www.darryrzhong.site),更多幹貨等你來拿喲.

### 請賞個小紅心!由於你的鼓勵是我寫做的最大動力!
>更多精彩文章請關注
- [我的博客:darryrzhong](http://www.darryrzhong.xyz)
- [掘金](https://juejin.im/user/5a6c3b19f265da3e49804988)
- [簡書](https://www.jianshu.com/users/b7fdf53ec0b9/timeline)
- [SegmentFault](https://segmentfault.com/u/darryrzhong_5ac59892a5882/articles)
- [慕課網手記](https://www.imooc.com/u/6733207)
相關文章
相關標籤/搜索