2010-08-24 7 views
7

Fotos: http://img838.imageshack.us/img838/1402/picse.png¿Cómo logro el siguiente resultado usando RelativeLayout?

¿Cómo hago el diseño en Pic. 2 usando RelativeLayout SOLAMENTE. A continuación se muestra el diseño xml de la primera captura de pantalla.

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 
<TextView 
    android:id="@+id/timer_textview" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:layout_marginTop="10dip" 
    android:textSize="30sp" 
    android:layout_alignParentTop="true" 
    android:text="@string/timer_start" /> 

<ListView 
    android:id="@+id/questions_listview" 
    android:layout_below="@id/timer_textview" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" /> 

<Button android:id="@+id/true_btn" 
    android:text="@string/true_option" 
    android:layout_alignParentBottom="true" 
    android:layout_weight="1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

<Button 
    android:id="@+id/false_btn" 
    android:text="@string/false_option" 
    android:layout_toRightOf="@id/true_btn" 
    android:layout_alignBaseline="@id/true_btn" 
    android:layout_weight="1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 
</RelativeLayout> 
+2

'android: layout_weight' no tiene ningún significado en un' RelativeLayout'. No estoy al tanto de una forma de implementar lo que busca con un solo 'RelativeLayout', lo siento. – CommonsWare

Respuesta

18

Usted podría utilizar LinearLayout en la parte inferior para lograr este . Pero desea utilizar RelativeLayout diseño sólo esto:

<RelativeLayout android:layout_width="fill_parent" ... > 

...  

<View android:id="@+id/helper" 
android:layout_width="0dp" 
android:layout_height="0dp" 
android:layout_alignParentBottom="true" 
android:layout_centerHorizontal="true" /> 

<Button android:id="@+id/true_btn" 
android:layout_alignParentBottom="true" 
android:layout_alignParentLeft="true" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_toLeftOf="@id/helper"/> 

<Button 
android:id="@+id/false_btn" 
android:layout_alignBaseline="@id/true_btn" 
android:layout_alignParentRight="true" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_toRightOf="@id/helper" /> 

</RelativeLayout> 

No se puede realmente utilizar diseños anidados?

+0

Sé que puedo usar un diseño anidado, en la segunda captura de pantalla hice exactamente eso. Pero solo quiero saber las limitaciones de RelativeLayout. –

+0

¿Has probado mi código? – plugmind

+0

Vaya ... No funcionó amigo. De todos modos, gracias @ radek-k –

0

Si cambia los botones para

<Button android:id="@+id/true_btn" 
    android:text="@string/true_option" 
    android:layout_alignParentBottom="true" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

<Button 
    android:id="@+id/false_btn" 
    android:text="@string/false_option" 
    android:layout_toRightOf="@id/true_btn" 
    android:layout_alignBaseline="@id/true_btn" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" /> 

utiliza al menos la anchura completa aunque el false_btn obtiene todo el espacio restante.

para aumentar la anchura de la primera true_btn puede establecer el atributo minWidth - o bien utilizar un valor fijo o lleve a la anchura de la pantalla y hacer que el minWidth la mitad de ella

+0

Déjame intentarlo y te responderé sobre esto. –

+0

su idea es buena, solo quiero saber si hay formas de especificar el ancho de la pantalla genéricamente? (es decir) debería funcionar en todos los dispositivos con varios tamaños de pantalla. –

Cuestiones relacionadas