其他分享
首页 > 其他分享> > 在Android中使用PhotoView最初显示完整图像

在Android中使用PhotoView最初显示完整图像

作者:互联网

我正在开发一个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" />

我想做的是,如果图像大于屏幕尺寸,我希望图像显示适合屏幕.不管有多大.但是图像可以小于屏幕尺寸.我只想在开始时显示完整图像.但是上面的代码给了我这个结果.

enter image description here

正如您在屏幕截图中看到的那样,它无法显示整个图像.它仅部分显示.如果要查看图像的其他区域,我想滚动或滑动,因为图像最初不适合屏幕显示.因此,我尝试更改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.标度类型也是如此.当我更改为该名称时,它最初会像这样显示完整图像.

enter image description here

它显示完整图像,但较小.对我来说完全可以.那就是我想要的.问题出在缩放功能上.当我放大时,图像不能大于图像高度.请参见下面的屏幕截图.

enter image description here

如您在上方看到的,当我放大时,它不会显示完整图像. ImageView的高度没有变化.

解决方法:

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

您需要match_parent高度或宽度

标签:zoom,android-imageview,android,android-photoview
来源: https://codeday.me/bug/20191112/2023859.html