Отображение изначально полного изображения с 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" />
Вам нужно сопоставить родителей как по высоте, так и по ширине