Picasso加载长图,宽度铺满屏幕,高度自适应

用Picasso加载长图非常简单方便。只需Picasso.with(mContent) .load(url) .into(mImageView)即可。

1、用法

layout布局


java代码

Picasso.with(this.getContext())
.load(url)
.into(mImageView);

正文结束


2、容易踩的坑

Picasso千万不要调用fit函数
因为fit函数的原理是,图片加载完成后,会回去测量ImageView的高度,根据ImageView的宽和高设置实际显示的尺寸。当layout_weight设置了wrap_content,在图片加载未完成时,ImageView的实际高度为0,当调用fit函数时,会以0作为ImageView的高度显示图片,所以最终导致看不到图片。这个bug找了两个小时,所以记录下来,希望大家快速跳过这个坑。

错误演示1:
layout布局


java代码

Picasso.with(this.getContext())
.load(url)
.fit()
.into(mImageView);

现象:图片看不到。

错误演示2:
layout布局


java代码

Picasso.with(this.getContext())
.load(url)
.fit()
.into(mImageView);

现象:图片被压缩变形。


3、Picasso是啥

Picasso是一个强大的图片加载、缓存框架,强烈推荐。
使用方式:在app的build.gradle中引入Picasso的依赖

compile 'com.squareup.picasso:picasso:2.5.2'

截图如下:


Picasso加载长图,宽度铺满屏幕,高度自适应_第1张图片
image.png

其他相关优质文章:

  • Android自定义组件,并把自定义组件和自定义xml布局文件关联
  • Android6.0 权限解读-SD卡写入权限(WRITE_EXTERNAL_STORAGE),SDK版本大于23时需手动授权
  • Android获取各种路径方法以及对路径的解释
  • SQLite入门
  • has been closed but there are still 1 connections in use. They will be closed as they are released back to the pool.

欢迎加我微信,拉进群交流哦!


微信二维码

你可能感兴趣的:(Picasso加载长图,宽度铺满屏幕,高度自适应)