2016-08-17 6 views
2

У меня проблема с прямоугольным изображением на высоте экрана.ImageView подходит для полной высоты на ландшафтном экране

<?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" 
    android:id="@+id/test_l"> 


    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:id="@+id/imageView12" 
     android:layout_centerVertical="true" 
     android:layout_centerHorizontal="true" 
     android:src="@drawable/kwadrat" 
     android:adjustViewBounds="true" 

     /> 

</RelativeLayout> 

Изображение @kwadrat - это квадратный размер. Как изменить ширину изображения границы? Я попытался установить scaleType = "fitXY" и adjustViewBounds = "истина", но это не дает хороший результат

enter image description here

enter image description here

EDIT: Я скачал новую версию Android Studio и все подходят отлично , set scaleType = "fitXY", adjustViewBounds = "true" и является хорошим квадратом.

ответ

0

Я думаю, что вы ищете android:scaleType="fitCenter", но разрешение вашего изображения не будет хорошим, когда оно растянуто так.

<ImageView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/imageView12" 
    android:layout_centerVertical="true" 
    android:layout_centerHorizontal="true" 
    android:src="@drawable/kwadrat" 
    android:scaleType="fitCenter"/> 
+0

Любой тип шкалы не является хорошим. fitXY, fitCenter, Crop не работает. Когда я устанавливаю android: layout_height = "match_parent", граница изображения меняется на rectangel. Я хочу, чтобы это квадрат – Aikiii

+0

А, я вижу проблему с этим, я отредактировал ответ. fitCenter прав, но вам нужно также установить ширину 'match_parent'. Когда ширина установлена ​​на 'wrap_content', ширина изображения уже фиксируется так же, как и ширина изображения. Изображение не будет масштабироваться до размера, который вы ожидаете, поскольку уже сказано, что оно будет только шириной, чем исходное изображение. –

+0

Да, но если я установил андроид: layout_width = "match_parent" граница изображения находится на полном экране (изображение квадратное, но граница не квадратная). Тогда я не могу установить новый элемент ToRight/Left of my Image. – Aikiii

0

Вы пытались указать андроид: scaleType = "centerCrop"? Из documentation:

масштабировать изображение равномерно (сохранить соотношение формата изображения), так что обе размеры (ширина и высота) изображения будет равна или больше, чем соответствующий размер точки зрения (минус дополнение) , Изображение затем в центре вида

Обратите внимание, что, с шириной вашего указанного ImageView и высоты, как «wrap_content» и «match_parent» (соответственно), если вы хотите ImageView появиться квадрат, исходное изображение должно быть квадрат, хотя.