用Picasso加載長(zhǎng)圖非常簡(jiǎn)單方便抡柿。只需Picasso.with(mContent) .load(url) .into(mImageView)
即可舔琅。
1、用法
layout布局
<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/placeholder_img" />
java代碼
Picasso.with(this.getContext())
.load(url)
.into(mImageView);
正文結(jié)束
2洲劣、容易踩的坑
Picasso千萬(wàn)不要調(diào)用fit函數(shù)备蚓。
因?yàn)閒it函數(shù)的原理是课蔬,圖片加載完成后,會(huì)回去測(cè)量ImageView的高度郊尝,根據(jù)ImageView的寬和高設(shè)置實(shí)際顯示的尺寸二跋。當(dāng)layout_weight設(shè)置了wrap_content,在圖片加載未完成時(shí)流昏,ImageView的實(shí)際高度為0扎即,當(dāng)調(diào)用fit函數(shù)時(shí),會(huì)以0作為ImageView的高度顯示圖片横缔,所以最終導(dǎo)致看不到圖片铺遂。這個(gè)bug找了兩個(gè)小時(shí),所以記錄下來(lái)茎刚,希望大家快速跳過(guò)這個(gè)坑。
錯(cuò)誤演示1:
layout布局
<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/placeholder_img" />
java代碼
Picasso.with(this.getContext())
.load(url)
.fit()
.into(mImageView);
現(xiàn)象:圖片看不到撤逢。
錯(cuò)誤演示2:
layout布局
<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="500dp"
android:src="@drawable/placeholder_img" />
java代碼
Picasso.with(this.getContext())
.load(url)
.fit()
.into(mImageView);
現(xiàn)象:圖片被壓縮變形膛锭。
3、Picasso是啥
Picasso是一個(gè)強(qiáng)大的圖片加載蚊荣、緩存框架初狰,強(qiáng)烈推薦。
使用方式:在app的build.gradle中引入Picasso的依賴
compile 'com.squareup.picasso:picasso:2.5.2'
截圖如下:
其他相關(guān)優(yōu)質(zhì)文章:
- Android自定義組件互例,并把自定義組件和自定義xml布局文件關(guān)聯(lián)
- Android6.0 權(quán)限解讀-SD卡寫(xiě)入權(quán)限(WRITE_EXTERNAL_STORAGE)奢入,SDK版本大于23時(shí)需手動(dòng)授權(quán)
- Android獲取各種路徑方法以及對(duì)路徑的解釋
- SQLite入門(mén)
- has been closed but there are still 1 connections in use. They will be closed as they are released back to the pool.
歡迎加我微信,拉進(jìn)群交流哦媳叨!