PhotoView 适合屏幕高度保持纵横比

PhotoView fit screen height maintain aspect ratio

我无法为我的 PhotoView 使用 scaletype,它可以让我在全屏时在图像上左右平移,而无需使用 Photo.ScaleType.CENTER_CROP 裁剪两侧。我该怎么做?

这就是我想要的(用户可以左右平移以查看整个图像):

这是我得到的(当使用 ScaleType.CENTER_CROP 时,这最接近我想要的但由于 CROP,不允许左右平移。):

你可以使用这个ImageViewZoom

如果您不想使用 lib,请参阅代码并尝试扩展 canvas

我用这样的 PhotoViewAttacher 修复了它:

ImageView imageView = (ImageView) findViewById(R.id.preview);
PhotoViewAttacher photoViewAttacher = new PhotoViewAttacher(imageView);
photoViewAttacher.setScaleType(ImageView.ScaleType.CENTER_CROP)

然后使用 ImageView (id.preview) 并将 XML 中的 ScaleType 设置为 Matrix。 (否则无法正常工作)