ImageView src перемещает изображение в центр, оставляя видимые стороны при изменении ширины и высоты - PullRequest
0 голосов
/ 28 августа 2018

Пожалуйста, не отмечайте это как дубликат, так как я не могу найти решение.

Привет, я пытаюсь добавить изображение SRC с некоторым цветом фона

Вот что я делаю

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="20dp"
android:background="@drawable/bg_layout_corners"
android:backgroundTint="@color/color_fbfbfa"
android:gravity="center">

<ImageView
    android:id="@+id/iv_dashboard_niggle"
    android:layout_width="wrap_content"
    android:layout_height="200dp"
    android:layout_centerHorizontal="true"
    android:layout_centerInParent="true"
    android:layout_centerVertical="true"
    android:scaleType="centerInside"
    android:background="@color/colorAccent"
    android:src="@drawable/niggle2_3_3_3" />

</RelativeLayout>

enter image description here

и вот результат, который я получаю

Когда я пытаюсь уменьшить ширину или высоту imageView, фактическое изображение помещается в центр, и видна некоторая граница.

Я также проверил scaleType = "center", это также не работает

Пожалуйста, помогите мне.

Ответы [ 3 ]

0 голосов
/ 28 августа 2018

Надеюсь, это решит вашу проблему.

iv_dashboard_niggle.setScaleType(ImageView.ScaleType.fitXY);
0 голосов
/ 28 августа 2018

Установите wrap_content как высоту для вашего относительного макета. Тогда пространство пойдет.

0 голосов
/ 28 августа 2018

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

например

Если вы хотите установить квадратное изображение с соотношением высоты и ширины 1: 1, тогда соотношение ImageView должно быть 1: 1

Хорошо, но также у нас есть ScaleType, если изображения не соответствуют соотношению, тогда мы можем установить тип масштаба в соответствии с размером изображения, изменив размеры нашего изображения

В вашем случае это полностью зависит от того, что вы хотите показать.

Если вам не нужна граница фона, просто установите прозрачный цвет фона, используя

android:background="@android:color/transparent"

Лучший способ - определить размер ImageView в соответствии с соотношением сторон, если вы не хотите использовать тип масштаба

...