Платформа Android: поместите вид между двумя видами

Я пытаюсь сделать экран, желательно только с XML, чтобы выглядеть так: Введите описание изображения здесь

Я придерживался этого подхода, но используя FrameLayout, у меня есть возможность позиционировать «оранжевое» представление с помощью layout_gravity , и, как я пытаюсь объяснить на изображении, я не знаю высоту макетов, потому что оба измеряют с помощью layout_weight.

Мой макет:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="onit.radiolisten.MainActivity"> <FrameLayout android:id="@+id/layout_container_activity_main" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <!-- TOP LAYOUT, THE GREEN ONE ON THE IMAGE --> <LinearLayout android:id="@+id/layout_top_activity_main" android:layout_width="match_parent" android:layout_height="0dip" android:layout_weight="2" android:background="@color/colorPrimary" android:orientation="vertical"></LinearLayout> <!-- BOTTOM LAYOUT, THE BLUE ONE ON THE IMAGE --> <RelativeLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:background="#e6e6e6"> </RelativeLayout> </LinearLayout> <!-- THIS IS THE IMAGE I WANT TO POSITION --> <ImageView android:id="@+id/btn_play_radio" android:layout_width="120dp" android:layout_height="120dp" android:layout_gravity="center" android:src="@drawable/play_icon" /> </FrameLayout> </LinearLayout> 

Можно ли это сделать только с помощью XML?

 <?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"> <--main layout--> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <--top layout--> <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_marginTop="20dp" android:layout_weight="0.4" android:gravity="bottom|center"/> <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="0.1" android:background="@color/callingscreen_color" android:gravity="center|top" /> </LinearLayout> <--layout for img--> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1.5" > </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="0.5" android:gravity="center|top"> <--IMage u want to put--> <ImageView android:id="@+id/ivimg" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/img"/> </LinearLayout> </LinearLayout> </RelativeLayout>