我将PhotoView与Picasso一起使用,当我将图片加载到ListView
时
1)它使一些图像变小。
2)并非所有图像都在启动时加载,当我向下滚动然后向上滚动所有图像都被加载。
没有PhotoView
图片加载就好了。我尝试了很多ImageView
缩放库,但PhotoView
效果更好,我也尝试使用Glide,结果相同。
无论如何,我可以强制PhotoView
适合ImageView
属性(Match_Parent
)吗?
这是我的适配器
@Override
public void onBindViewHolder( final ViewHolder holder, int position) {
Picasso.with(context)
.load((Integer) data.get(position))
.resize(530,999)
.onlyScaleDown()
.centerInside()
.into(holder.image);
holder.mAttacher = new PhotoViewAttacher(holder.image);
holder.image.setTag(holder);
}
@Override
public int getItemCount() {
return data.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
public PhotoView image;
public PhotoViewAttacher mAttacher;
public ViewHolder(View view) {
super(view);
image = (PhotoView) view.findViewById(R.id.imagview);
我正在从资源中加载图片/不从任何url
加载
答案 0 :(得分:1)
不幸的是,毕加索有一个问题,更多详情请见issue #364
我切换到另一个图书馆Glide
答案 1 :(得分:0)
您可以更改您的attacher比例类型:
holder.mAttacher = new PhotoViewAttacher(holder.image);
holder.mAttacher.setScaleType(ImageView.ScaleType.CENTER_CROP);
CENTER_CROP :均匀缩放图像(保持图像的纵横比),以便 图像的尺寸(宽度和高度)将等于或 大于视图的相应尺寸(减去填充)。 然后图像在视图中居中。