我有一个回收站视图,其中包含可变大小的项目。现在,我正在使用Picasso加载图像,我想调整图片大小以填充ImageView
,保留纵横比并裁剪图像以使其完全符合ImageView
。但是,在绑定视图持有者期间,ImageView
的宽度为0。我如何获得尺寸?
代码看起来像这样:
@Override
public void onBindViewHolder(ViewHolder holder, final int position)
{
Foo foo = mFoos.get(position);
// Get the size - THIS IS WHAT I WANT TO FIND OUT
int width = ...;
int height = 100;
// Load the image using Picasso
Picasso.with(mContext)
.load(foo.getImageURL())
.centerCrop()
.resize(width, height)
.into(holder.image);
}
答案 0 :(得分:0)
那是因为视角测量尚未完成。所以在这一点上宽度实际上是0。 您需要实施ViewTreeObserver
看看其中一些例子:
How to get the width and height of an Image View in android?
How to get the width and height of an android.widget.ImageView?