Столкнулся с проблемой в 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, но в документации про это ничего не сказано.