我正在开发一款Android应用。在我的应用程序中,我需要像Facebook一样的缩放图像功能。所以,我使用了这个库 - https://github.com/chrisbanes/PhotoView。但是我在首次加载图像时显示完整图像时遇到问题。
这就是我将PhotoViewAttacher设置为ImageView的方法
photoViewAttacher = new PhotoViewAttacher(imageView);
photoViewAttacher.setZoomable(true);
photoViewAttacher.update();
这是imageview的xml布局
<ImageView
android:id="@+id/item_details_image"
android:scaleType="fitCenter"
android:layout_width="match_parent"
android:layout_height="match_parent" />
我想要做的是,如果图像大于屏幕尺寸,我希望图像显示适合屏幕。不管它有多大。但图像可能小于屏幕尺寸。我只是想在最初显示完整的图像。但上面的代码给了我这个结果。
正如您在屏幕截图中看到的,它无法显示整个图像。它只显示部分。如果我想查看图像的其他区域,我想滚动或滑动,因为图像最初不适合屏幕。因此,我尝试更改XML以初始显示整个图像区域。这是我改为的XML。
<ImageView
android:id="@+id/item_details_image"
android:scaleType="centerInside"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
如您所见,我将高度从match_parent更改为wrap_content。比例类型也是如此。当我改变它时,它最初显示完整的图像。
显示完整图像但更小。对我来说完全没问题。这就是我想要的。问题在于缩放功能。当我放大时,图像不能大于图像高度。请参见下面的屏幕截图。
如上所示,我放大时没有显示完整图像。 ImageView高度没有变化。
答案 0 :(得分:3)
<ImageView
android:id="@+id/item_details_image"
android:scaleType="fitCenter"
android:layout_width="match_parent"
android:layout_height="match_parent" />
你需要 match_parent 身高或宽度