Android RelativeLayout alignParentRight неправильно выравнивает Imageview

#android #android-relativelayout #alignment

#Android #android-relativelayout #выравнивание

Вопрос:

Я пытаюсь разместить свой ImageView в правом нижнем углу моего дисплея. Я бы хотел, чтобы изображение динамически расширялось для дисплеев разного размера.

Изображение выравнивается должным образом, когда оно меньше и не настроено на расширение, но при установке для него значения fill_parent изображение перемещается влево и больше не выстраивается вровень с правой стороной дисплея.

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <SurfaceView 
        android:id="@ id/surface1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        ></SurfaceView>
    <ImageView 
        android:src="@ drawable/image_1_patched" 
        android:layout_height="fill_parent" 
        android:id="@ id/imageView1" 
        android:layout_width="fill_parent"
        android:layout_alignParentRight="true"
        ></ImageView>
</RelativeLayout>
  

Как я могу сделать так, чтобы изображение занимало как можно больше места и оставалось на одном уровне с правой стороной дисплея?

Ответ №1:

Установите scaletype вашего imageview равным FIT_XY.

Комментарии:

1. Я устал от fitCenter, но, как и следовало ожидать, изображение осталось в центре. Однако fitEnd выровнял изображение вплотную справа и снизу. Спасибо, что указали мне правильное направление.

2. Не беспокойтесь. Я скопировал неправильный тег. Существует несколько вариантов, основанных на том, как вы хотите его масштабировать. Подходит, если вас не волнует соотношение сторон изображения.

Ответ №2:

Я знаю, что это может не решить проблему, но если вы хотите, чтобы изображение оставалось внизу, вы можете добавить это в свой imageview android:layout_alignParentBottom="true"