LINUX.ORG.RU

RelativeLayout

 


0

1

Столкнулся с проблемой в RelativeLayout. Код layout'а:

<?xml version="1.0" encoding="utf-8"?>
<!-- Blue square must be below red -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
    <FrameLayout
        android:background="#0f8"
        android:layout_width="120dp"
        android:layout_height="300dp"
        android:id="@+id/frameLayout">
    </FrameLayout>

    <FrameLayout
        android:background="#f55"
        android:layout_width="20dp"
        android:layout_height="20dp"
        android:id="@+id/square"
        android:layout_centerVertical="true"/>

    <FrameLayout
        android:background="#55f"
        android:layout_width="20dp"
        android:layout_height="20dp"
        android:layout_below="@id/square"/>
</RelativeLayout>

Получается вот такая картинка: http://imgur.com/HNWWa63

Где у меня ошибка в коде? Синий квадрат должен находиться под красным, а он находится черт знает где, как будто думает что красный квадрат выровнян по верхнему краю (изменение размеров красного квадрата это подтверждает). Наверное проблема в сочетании wrap_content с centerVertical, но в документации про это ничего не сказано.

И сам нашел ответ:

Note that you cannot have a circular dependency between the size of the RelativeLayout and the position of its children.

RelativeLayout
() автор топика

Пользователь RelativeLayout создал тему RelativeLayout для решения проблемы с RelativeLayout и первым же ответом в тему нашёл решение. Прямо полная самодостаточность. )

orm-i-auga ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.