Android: estira el diseño entre dos LinearLayouts fijos

Este es mi diseño (imagen):

View post on imgur.com


Lo que quiero hacer es hacer que el primer LinearLayout 50dip alto (esto ya está bien), entonces tiene el 3rd LinearLayout también 50dip alto de abajo hacia arriba – y luego hacer que el segundo LinearLayout llenar el lugar a la izquierda inbetween. ¿Cómo lo hago?


Este es mi XML:

<LinearLayout android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="50dip" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_alignParentTop="true" > </LinearLayout> <LinearLayout android:id="@+id/linearLayout2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/linearLayout1" android:orientation="vertical" > <ViewFlipper android:id="@+id/viewFlipper1" android:layout_width="match_parent" android:layout_height="fill_parent" > <ImageView android:id="@+id/imageView1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/rain1" /> <ImageView android:id="@+id/imageView2" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/thunder1" /> </ViewFlipper> </LinearLayout> <LinearLayout android:id="@+id/linearLayout3" android:layout_width="fill_parent" android:layout_height="50dip" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:layout_below="@+id/linearLayout2"> </LinearLayout> </RelativeLayout> 

Envuelva los tres diseños en un diseño lineal vertical y utilice un peso de diseño de "1" en el diseño medio:

 <LinearLayout . . . android:layout_height="fill_parent" android:orientation="vertical"> <LinearLayout . . . android:layout_height="50dip"> <LinearLayout . . . android:layout_height="0dp" android:layout_weight="1"> <LinearLayout . . . android:layout_height="50dip"> </LinearLayout> 

Convertir LinearLayout en diseño relativo. Define la posición relativa del elemento. Su problema será resuelto

O el peso del uso en la disposición linear. Defina el peso 1.0 para el segundo diseño lineal. Y para la altura y el ancho de la página principal de los padres debe ser fill_parent

Prueba esto:

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:layout_width="fill_parent" android:layout_height="50dip" android:background="#FF00FF" android:id="@+id/first" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="50dip" android:background="#0000FF" android:id="@+id/last" android:layout_alignParentBottom="true" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#FFFFFF" android:layout_above="@id/last" android:layout_below="@id/first" > <ViewFlipper android:id="@+id/viewFlipper1" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ImageView android:id="@+id/imageView1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/rain1" /> <ImageView android:id="@+id/imageView2" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/thunder1" /> </ViewFlipper> </LinearLayout> </RelativeLayout> 
 LinearLayout layout; layout.addView(child, 2); 

Intenta poner el 3er diseño antes del segundo

 <Relativelayout> <Linearlayout1> <Linearlayout3> <linearlayout2> </Relativelayout> 

No he añadido tus caracteres extraíbles en este código, pero creo que esto debería solucionar tu problema:

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/relativeLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="50dp" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_alignParentTop="true" > </LinearLayout> <LinearLayout android:id="@+id/linearLayout2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/linearLayout1" android:layout_above="@+id/linearLayout3" android:orientation="vertical" > <ViewFlipper android:id="@+id/viewFlipper1" android:layout_width="match_parent" android:layout_height="fill_parent" > <ImageView android:id="@+id/imageView1" android:layout_width="fill_parent" android:layout_height="fill_parent" /> <ImageView android:id="@+id/imageView2" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </ViewFlipper> </LinearLayout> <LinearLayout android:id="@+id/linearLayout3" android:layout_width="fill_parent" android:layout_height="50dp" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" > </LinearLayout> </RelativeLayout> 
  • Añadir margen mayor a EditText en Android AlertDialog
  • Android paddingBottom no funciona sin paddingTop
  • El relleno de Button no funciona sin fondo
  • Android Studio agrega relleno al icono ic_launcher.png
  • Android: TextView: elimina el espaciado y el relleno en la parte superior e inferior
  • Eliminación del relleno del botón de imagen (Android)
  • Programaticamente margen / relleno de textview en un listview
  • Añadir relleno en vista de forma programática
  • ¿Cómo puedo eliminar todo el relleno predeterminado de EditText?
  • PreferenceActivity funciona correctamente en Android 2.1, pero no en 4.1 (acolchado)
  • Android, ¿Cómo configurar el acolchado izquierdo del botón de Radiobutton mediante programación?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.