Как убрать лишнее пространство выше и ниже imageView?
У меня действительно простое изображение в RelativeLayout
и по какой-то причине я получаю дополнительное расстояние сверху и снизу, которое я не могу удалить. Как я могу это очистить?
Вот как это выглядит:
Вот код:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:src="@drawable/slice11pp" />
</RelativeLayout>
9 ответов
В вашем приведенном выше изображении просто добавьте android:scaleType="fitXY"
Должно быть достаточно добавить свойство:
android:adjustViewBounds="true"
например:
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:src="@drawable/slice11pp"
android:adjustViewBounds="true" />
Возможно, ваша проблема в том, что у вас не установлен тип масштаба... Добавьте его в XML для ImageView, "fitCenter" должен быть правильным, но есть и другие, проверьте: ScaleType.
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:src="@drawable/slice11pp"
android:scaleType="fitCenter" />
Если высота вашего изображения равна match_parent, даже если вы установили android: AdjustViewBounds="true", ImageView добавит дополнительное пустое пространство сверху и снизу. Итак, измените ImageView высоту на wrap_content и установите Android: AdjustViewBounds="true"
например
<ImageView
android:id="@+id/img_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"/>
Используйте папку drawable-nodpi, если нет особых требований к изображениям. затем android: adjustViewBounds = "true"
действует по умолчанию.
Если вы используете drawable-nodpi, вам не нужно устанавливать android:adjustViewBounds = "true"
,
Я думаю, что это самый легкий метод.
Эта строка кода решит проблему
android:adjustViewBounds="true"
не забудьте повернуть изображение
android:scaleType="centerCrop", добавив это
<ImageView
android:id="@+id/image"
android:layout_width="200dp"
android:layout_height="200dp"
android:src="@drawable/temp_image"
android:adjustViewBounds="true"
android:scaleType="centerCrop"/>
Просто добавьте ScaleType="fitxy" в представлении изображения
Это идеальное решение
<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:scaleType="fitXY"
/>
он не оставит ни одного лишнего дп в любой стороне. однако изображение будет искажено, если это не портретное изображение.
Попробуй это
<ImageView
(...)
android:adjustViewBounds="true" />