alinear a la derecha e izda en linearlayout

8,968 views
Skip to first unread message

jbc

unread,
Feb 15, 2012, 3:19:08 PM2/15/12
to desarrolladores-android
Hola a todos/as

Me estoy volviendo loco con un asunto y no consigo la respuesta
buscando en internet. Es muy simple: Me gustaria tener un elemento
alineado a la izquierda y otro a la derecha de la pantalla dentro de
un LinearLayout.
He probado con el atributo "layout_gravity="right" pero no funciona,
me lo coloca al lado del primer elemento.

Le he dado una solución chapucera con un RelativeLayout dentro del
Linear, pero quisiera saber si hay otra solución.

Muchas gracias.

Jorge Chavez

unread,
Feb 15, 2012, 3:27:38 PM2/15/12
to desarrollad...@googlegroups.com
puedes ponerles margenes hacia las paredes del linearloyaut


--
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-a...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/desarrolladores-android?hl=es.


Cristian Garrido

unread,
Feb 15, 2012, 11:50:47 PM2/15/12
to desarrollad...@googlegroups.com
Ufff
es un lio el diseño en layout de android (por lo menos a mi gusto)

una solucion seria esta:


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

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
            android:layout_weight="1">


        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Izquierda" />

    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
            android:layout_weight="1">


        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:text="Derecha" />

    </LinearLayout>

</LinearLayout>
--
_________________________________________
Cristian Andrés Garrido Salas.
Estudiante Ing. Civil en Computación e Informática
Universidad Arturo Prat.
Iquique - Chile
(+56) (9) 74531260

"Un sueño no es una ilusión, sino una realidad lejana, pero no inalcanzable..."

Gilberto Cuba Ricardo

unread,
Feb 16, 2012, 6:05:19 AM2/16/12
to desarrollad...@googlegroups.com
Hace un tiempecito hice un Layout que te daba esa posibilidad. Le puse
una propiedad que se llama "placement" con varios valores posibles,
(none, left, right, top, bottom, center, client).

Esto te ayudaría poniendo ese Layout dentro de tu aplicación, y tu
componentes ahí dentro específicándole a cada uno de ellos que su
propiedad
namespace:placement = "left" y la del otro:
namespace:placement = "right"

Lo que pudiera no ayudarte es que toma por defecto el ancho del
componente (en los dos casos anteriores) y los mantiene intacto, pero
el top y el height, los estira de forma tal que toma todo el alto del
componente padre que los contiene.

Por si te interesa acá puedes encontrarlo, aunque no se está
utilizando como tal en esas funciones.

https://github.com/gcubar/AndroidGraphics2D.git

Si te embullas y crees que te resuelve, te puedo hacer un ejemplo
sencillo con él donde lo incluya.

Suerte y que resuelvas.
Gilberto Cuba

El 15/02/12, Cristian Garrido <crgar...@gmail.com> escribió:


--
---
Saludos,
Gilberto Cuba

jbc

unread,
Feb 20, 2012, 4:48:01 AM2/20/12
to desarrolladores-android
Gilberto -> el enlace dice que no existe la pagina, gracias de todos
modos.
La opción de los dos linear layout es valida, gracias. Aunque al final
opté por el RelativeLayout despues de pegarme un rato con él:

<RelativeLayout
android:id="@+id/relativeLayout1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/verde_fondo"

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:text="titulo" />

<ImageButton
android:id="@+id/btn_cancelar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:src="@drawable/btn_error" />

<ImageButton
android:id="@+id/btn_salvar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toLeftOf="@id/btn_cancelar"
android:src="@drawable/btn_done" />
</RelativeLayout>

Gracias a tods!

On 16 feb, 12:05, Gilberto Cuba Ricardo <gcubar2...@gmail.com> wrote:
> Hace un tiempecito hice un Layout que te daba esa posibilidad. Le puse
> una propiedad que se llama "placement" con varios valores posibles,
> (none, left, right, top, bottom, center, client).
>
> Esto te ayudaría poniendo ese Layout dentro de tu aplicación, y tu
> componentes ahí dentro específicándole a cada uno de ellos que su
> propiedad
> namespace:placement = "left" y la del otro:
> namespace:placement = "right"
>
> Lo que pudiera no ayudarte es que toma por defecto el ancho del
> componente (en los dos casos anteriores) y los mantiene intacto, pero
> el top y el height, los estira de forma tal que toma todo el alto del
> componente padre que los contiene.
>
> Por si te interesa acá puedes encontrarlo, aunque no se está
> utilizando como tal en esas funciones.
>
> https://github.com/gcubar/AndroidGraphics2D.git
>
> Si te embullas y crees que te resuelve, te puedo hacer un ejemplo
> sencillo con él donde lo incluya.
>
> Suerte y que resuelvas.
> Gilberto Cuba
>
> El 15/02/12, Cristian Garrido <crgarrid...@gmail.com> escribió:
> > <jfcc.cha...@gmail.com>escribió:
>
> >> puedes ponerles margenes hacia las paredes del linearloyaut
>

Gilberto Cuba Ricardo

unread,
Feb 20, 2012, 5:50:41 AM2/20/12
to desarrollad...@googlegroups.com
Bueno, el enlace era para que lo utilizarás directo utilizando un
cliente git. Si lo ibas a revisar directo por la web, debías quitarle
el ".git" final de la URL.

De todas formas me alegro que hayas resuelto tu problema.

Salu2,
Gilberto Cuba

El 20/02/12, jbc <jber...@gmail.com> escribió:

Reply all
Reply to author
Forward
0 new messages