毕加索作物观看

Fri*_*ter 9 android picasso

我如何使用毕加索将图像裁剪为imageview?

默认似乎缩小它,所以整个事情显示适合似乎伸展它.centercrop本身就打破了.fit centercrop似乎与合适相同

谢谢

Laz*_*nja 10

尝试使用 centerCrop()

Picasso.with(mContext)
.load(url)
.centerCrop()
.resize(yourImageView.getMeasuredWidth(),yourImageView.getMeasuredHeight())
.error(R.drawable.error)
.placeholder(R.drawable.blank_img)
.into(yourImageView);
Run Code Online (Sandbox Code Playgroud)

您必须添加addOnPreDrawListener侦听器,否则在未绘制imageview时将获得0的宽度和高度.转到这里了解如何使用的详细信息addOnPreDrawListener.

  • centercrop本身会给出错误java.lang.IllegalStateException:中心裁剪需要调用具有正宽度和高度的resize.毕加索的错误是什么意思? (2认同)

小智 8

CenterCrop()是一种裁剪技术,可以缩放图像,使其填充请求的边界,ImageView然后裁剪额外的边界。该ImageView会被完全填满,但可能不会显示整个图像。

Picasso  
.with(context)
.load(UsageExampleListViewAdapter.eatFoodyImages[0])
.resize(600, 200) // resizes the image to these dimensions (in pixel)
.centerCrop() 
.into(imageViewResizeCenterCrop);
Run Code Online (Sandbox Code Playgroud)

CenterInside()是一种裁剪技术,可缩放图像,使两个维度等于或小于ImageView. 图像将完全显示,但可能不会填满整个ImageView.

Picasso  
.with(context)
.load(UsageExampleListViewAdapter.eatFoodyImages[0])
.resize(600, 200)
.centerInside() 
.into(imageViewResizeCenterInside);
Run Code Online (Sandbox Code Playgroud)

所讨论的选项应涵盖您对有关图像大小调整和缩放功能的需求。Picasso 的最后一个辅助功能非常有用:fit().

Picasso  
.with(context)
.load(UsageExampleListViewAdapter.eatFoodyImages[0])
.fit()
// call .centerInside() or .centerCrop() to avoid a stretched image
.into(imageViewFit);
Run Code Online (Sandbox Code Playgroud)