Привет У меня есть ImageView, который отображает изображение с URL-адреса. Изображения разных размеров. Они могут быть квадратной или портретной формы или в форме ландшафта. Мне нужно установить размер изображения соответственно, без растягивания или обрезки.Android изменение размера изображения динамически по размеру изображения
Скажите, если размер изображения равен 512x512, тогда ImageView должен быть в квадратной форме и выровнен по центру экрана.
Если размер изображения примерно равен 1024x800, тогда размер ImageView должен быть в форме горизонтального прямоугольника и выровненном центре экрана.
Во всех случаях ширина должна соответствовать родительскому, но высота должна соответственно регулироваться. Как я могу это сделать?
Ниже в моем xml-коде.
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <android.support.v7.widget.CardView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:maxHeight="400dp" android:maxWidth="300dp" android:layout_margin="10dp" app:cardBackgroundColor="@color/white"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <android.support.v4.widget.NestedScrollView android:layout_width="wrap_content" android:layout_height="wrap_content" android:scrollbars="none"> <ImageView android:id="@+id/image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:adjustViewBounds="true" android:scaleType="fitXY" android:minWidth="260dp" tools:ignore="ContentDescription" /> </android.support.v4.widget.NestedScrollView> <View android:layout_width="match_parent" android:layout_height="1dp" android:background="@color/grey_light" /> <TextView android:id="@+id/title" android:layout_width="match_parent" android:layout_height="35dp" android:layout_gravity="right" android:layout_margin="@dimen/space_small_low" android:background="@drawable/transparent_bg" android:textColor="@color/orange" /> </LinearLayout> </android.support.v7.widget.CardView> </FrameLayout>
удалить андроид: scaleType = "fitXY" из XML и рассчитать высоту изображения, соотношение сторон, как (deviceheight * ImageWidth)/devicewidth – user3040153
Удаление создает пустое пространство в ImageView. –