android imageview wrap_content

Всем привет и спасибо за вашу помощь.

У меня есть проект в Android Studio.

Я использую ImageView внутри вертикальной LinearLayout.

Вот мои параметры;

<ImageView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/imageView2"
    android:src="@drawable/myimg"
/>

Вы можете видеть мое изображение внизу (красный блок) и границы просмотра изображений (синяя линия), с шириной проблем нет, это 100% моего макета, но я хочу, чтобы мое изображение соответствовало области, сохраняя соотношение сторон. как вы можете видеть на изображении, есть пробелы, высота ImageView больше моего изображения, как я могу разместить изображение в ImageView?

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

введите описание изображения здесь

5 ответов

Решение

Я нашел решениеandroid:adjustViewBounds="true"

В imageview есть опция центра обрезки -

android:scaleType="centerCrop"

Что он будет делать, так это обрезать изображение из центра. Выход будет как -

изменен

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

Вот код с родительским расположением относительно

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MyActivity">



<ImageView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/imageView"
    android:src="@drawable/red"
     />

введите описание изображения здесь

Размер imageview Вы должны масштабировать свои изображения соответственно.ImageView имеет свойство масштабирования. Попробуйте это android:scaleType="fitXY" и дай мне знать.

За ImageView, android:scaleType="fitXY" потеряет аспект. Лучше использовать android:scaleType="fitCenter" и установить фон для imageView transparent,

Если вы не хотите сохранять аспект, то setbackground() или же fitxy выполнит ваше требование

Другие вопросы по тегам