Отображение изначально полного изображения с PhotoView в Android

Я занимаюсь разработкой приложения для Android. В моем приложении мне нужны функции увеличения изображения, как в Facebook. Итак, я использовал эту библиотеку - https://github.com/chrisbanes/PhotoView. Но у меня проблема с отображением полного изображения при первой загрузке изображения.

Вот как я установил PhotoViewAttacher для ImageView

    photoViewAttacher = new PhotoViewAttacher(imageView);
    photoViewAttacher.setZoomable(true);
    photoViewAttacher.update();

Это 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 не меняется.

1 ответ

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

Вам нужно сопоставить родителей как по высоте, так и по ширине

Другие вопросы по тегам