Disposición de Android: coloca una vista entre dos vistas

Estoy tratando de hacer una pantalla, preferiblemente con sólo XML, para que parezca esto: Introduzca aquí la descripción de la imagen

He seguido este enfoque, pero usando FrameLayout sólo tengo la opción de colocar la vista "naranja" usando layout_gravity , y como trato de explicar en la imagen, no sé la altura de los diseños, porque ambos miden con layout_weight.

Mi diseño:

 <?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> 

¿Puede hacerse esto solo con XML?

One Solution collect form web for “Disposición de Android: coloca una vista entre dos vistas”

 <?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> 
  • Pantalla Android Parpadea en mostrar / ocultar barras del sistema
  • Android: Qué práctica es mejor para usar CoordinatorLayout
  • Razón por la cual el atributo style no utiliza el prefijo android: namespace
  • Analizar el menú de Android del recurso XML a la lista de objetos
  • Cómo crear un botón de acción flotante (FAB) en android, utilizando AppCompat v21?
  • ¿Por qué el archivo de diseño xml de Android no reconoce la ayuda de contenido mediante ctrl + espacio?
  • Necesita ayuda para cambiar de actividad
  • ¿Cuál es el significado de xmlns: herramientas en el diseño de Android XML?
  • Android.database.sqlite.SQLiteException: no hay tal columna
  • Android y la configuración de alfa para (imagen) ver alfa
  • Almacenamiento de datos de Android en xml
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.