2011-12-13 26 views
9

Quiero un diseño como este: Desired layoutAndroid RelativeLayout: ¿cómo posicionar?

Pero mi código no funciona. No puedo lograr este diseño, y no sé qué está mal con lo que he hecho hasta ahora.

Esto es lo que tengo hasta ahora - ¿Es la layout_gravity OK? ¿O necesita establecerse en el RelativeLayout?

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_height="fill_parent" 
    android:layout_width="fill_parent"> 

    <RelativeLayout  
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:orientation="vertical"> 

     <TextView 
      android:id="@+id/topText" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textSize="20dip" 
      android:layout_gravity="top" /> 

     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/centerLayout" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:orientation="horizontal" 
      android:layout_below="@id/topText">  

      <ImageButton 
       android:id="@+id/lektionBackButton" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 

       android:src="@drawable/back" 
       android:layout_gravity="left"/> 
      <ImageView 
       android:id="@+id/centerImage" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:cropToPadding="true" 
       android:layout_gravity="center"/> 
      <ImageButton 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/lektionForwardButton" 
       android:src="@drawable/forward" 
       android:layout_gravity="right"/>   
     </LinearLayout>  

     <TextView 
      android:id="@+id/bottomText" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textSize="20dip" 
      android:layout_below="@id/centerLayout" 
      android:layout_gravity="bottom" /> 
    </RelativeLayout> 
</RelativeLayout> 
+2

buena pregunta con perfecta broche de presión. –

Respuesta

15

No es necesario utilizar la gravedad o el interior LinearLayout en absoluto para esto. En su lugar utilizar layout_alignParentTop, layout_alignParentLeft, layout_alignParentRight, layout_alignParentBottom, layout_centerInParentlayout_centerVertical y en los niños.

Podría ser útil para que usted vaya a través de la RelativeLayout tutorial.

2

Solo cuando se trata de un diseño relativo, puede cambiar al diseño gráfico en su editor Eclipse y arrastrar y establecer los atributos. Todo con solo tu mouse Sin embargo, esto no es posible con ningún otro diseño. Espero que ayude.

Cuestiones relacionadas