3

我正在开发一个 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 高度没有变化。

4

1 回答 1

3
 <ImageView
        android:id="@+id/item_details_image"
        android:scaleType="fitCenter"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

您需要match_parent高度或宽度

于 2017-11-30T06:01:20.180 回答