Подтвердить что ты не робот

Как удалить лишнее пространство над и под imageView?

У меня есть очень простое изображение в RelativeLayout и по какой-то причине я получаю дополнительный интервал сверху и снизу, который я не могу удалить. Как я могу это очистить?

Вот как это выглядит:

Image from Eclipse preview

Вот код:

<?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>
4b9b3361

Ответ 1

Попробуй это

android:adjustViewBounds="true"

Ответ 2

В вашем выше imageView просто добавить android:scaleType="fitXY"

Ответ 3

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

Ответ 4

Должно быть достаточно добавить свойство:

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" />

Ответ 5

Если высота вашего изображения соответствует 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"/>

Ответ 6

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"/>

работает для меня до и после изображения Before and After Image

Ответ 7

просто добавьте ScaleType = "fitxy" в представление изображения

Ответ 8

Попробуйте это

<ImageView
     (...)
     android:adjustViewBounds="true" />

Ответ 9

это идеальное решение

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

он не оставит ни одного лишнего дп в любой стороне. однако изображение будет искажено, если это не портретное изображение.

Ответ 10

Используйте папку drawable-nodpi, если нет особых требований к изображениям. Тогда android: adjustViewBounds = "true" действует по умолчанию.

Если вы используете drawable-nodpi, вам не нужно устанавливать android:adjustViewBounds = "true".

Я думаю, что это самый легкий метод.

Ответ 11

Похоже, что изображение, которое вы устанавливаете, больше размера экрана.

вы можете попробовать 2 вещи:

  • измените каталог вашего изображения на каталог с более высоким разрешением, например, попробуйте поместить его в drawable-xhdpi.

  • попытайтесь установить match_parent для layout_width в ImageView.