Как настроить подгонку изображения на каждом экране с соотношением сторон - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть некоторые изображения, поступающие с сервера, я уверен в разрешении изображения.как можно показать каждое изображение полностью на каждом экране с соотношением сторон.

Мне нужно покрыть весь экран без кадрирования.Изображение должно быть полным на каждом экране разрешения.

   <ImageView
    android:id="@+id/photo_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:adjustViewBounds="true"
    android:scaleType="fitXY"/>

Изображение с сервера

Picasso.with(context).load(shopDataForAdvs.get(position).getSrc()).fit().placeholder(R.drawable.product_image).error(R.drawable.product_image).into(imageView);

Здесь у меня есть изображение, которое распространяется

enter image description here

1 Ответ

0 голосов
/ 13 февраля 2019

Решил обновить мой комментарий до ответа ...

Каждое изображение имеет соотношение сторон.Каждый телефон имеет соотношение сторон.Нет гарантии, что эти два соотношения сторон будут одинаковыми, поэтому у вас есть три варианта:

1 - растянуть изображение, чтобы оно соответствовало.Это то, что делают android:scaleType="fitXY" и вызов Пикассо fit().Я не очень рекомендую этот выбор, так как изображение будет выглядеть «странно», но это правильный выбор.

2 - Обрежьте изображение, чтобы оно подходило.Это будет android:scaleType="centerCrop" и Пикассо centerCrop().Это будет увеличивать изображение (не растягивая его), пока наименьшее измерение изображения не будет соответствовать размеру телефона, и будет обрезать изображение в другом измерении.

3 - Почтовый ящик.Это будет android:scaleType="centerInside" или Пикассо centerInside().Это будет увеличивать изображение (не растягивая его), пока наибольшее измерение изображения не будет соответствовать размеру телефона, и оставит остальную часть ImageView пустым.

Я рекомендую вариант 2 или, возможно, комбинациювариантов 3 и 2 (загрузите изображение без обрезки, но позвольте пользователю увеличивать масштаб, если они того пожелают).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...