Ayuda de diseño: relativo o lineal

Estoy creando una vista que está destinada a mostrar una imagen a la izquierda, una vista de cuadrícula a la derecha, y en la parte inferior de la pantalla quiero incluir una última pantalla, la siguiente pantalla, actualizar y los botones de navegación de inicio, es decir:

imagen | vista en cuadrícula

imagebtn | imagebtn | imagebtn | imagebtn |

He intentado lo siguiente pero he fallado. ¿Necesito una vista relativa (aunque tampoco lo intenté) o qué hice mal?

<?xml version="1.0" encoding="utf-8"?>  
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="@drawable/flowers"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal" >

    <LinearLayout
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:layout_gravity="center">


        <ImageView
        android:id="@+id/imageView1"
        android:layout_width="96dp"
        android:layout_height="512dp"
        android:contentDescription="@string/mainlogo"
        android:src="@drawable/talltree"
        android:gravity="top"
        />

        <GridView  
        android:id="@+id/gridView1"  
        android:layout_width="wrap_content"    
        android:layout_height="wrap_content"
        android:numColumns="3"
        android:verticalSpacing="1dp"
        android:horizontalSpacing="1dp"
        android:stretchMode="columnWidth"
        android:gravity="center"

        />

</LinearLayout> 

<LinearLayout
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:gravity="center"
        android:layout_gravity="center">

        <ImageButton
        android:id="@+id/imageButtona"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/arrow_left"
        android:contentDescription="@string/game1">
        </ImageButton>


        <ImageButton
        android:id="@+id/imageButtonb"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/gamelisttwo"
        android:src="@drawable/arrow_refresh1">
        </ImageButton>

        <ImageButton
        android:id="@+id/imageButtonc"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/gohome"
        android:src="@drawable/gamelistone">
        </ImageButton>

        <ImageButton
        android:id="@+id/imageButtond"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/gamelisttwo"
        android:src="@drawable/gamelisttwo" 
        android:contentDescription="@string/game2">
        </ImageButton>
</LinearLayout>

</LinearLayout>

perdon por el formateo

preguntado el 22 de mayo de 12 a las 11:05

2 Respuestas

puede lograr su necesidad usando la combinación de RelativeLayout y LinearLayout

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

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_above="@+id/bottom"
    android:orientation="horizontal" >

    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1" />

    <GridView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1" />
</LinearLayout>

<LinearLayout
    android:id="@+id/bottom"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:orientation="horizontal" >

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button1" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button2" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button3" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button4" />
</LinearLayout>

</RelativeLayout>

contestado el 22 de mayo de 12 a las 12:05

En la primera LinearLayout utilizar esto: android:orientation="vertical"

En el segundo LinearLayout utilizar esto: android:orientation="horizontal"

En el tercero LinearLayout utilizar esto: android:orientation="horizontal"

contestado el 22 de mayo de 12 a las 12:05

De hecho, arreglé esto un poco yo mismo y cambié "fill_parent" a wrap_content a medida que los botones de imagen se empujaban desde la parte inferior de la pantalla. Ahora todo lo que tengo que hacer es empujar los botones hasta la parte inferior de la pantalla en lugar de colocarlos inmediatamente después del primer diseño lineal (imagen más vista de cuadrícula). Después de todo, podría tener que recurrir al diseño relativo. - Juan Ashmore

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.