Home Menu

Menu



Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 28/10/14, 10:39:00
Avatar de MortadeloComic
MortadeloComic MortadeloComic no está en línea
Usuario novato en la web
Mensajes: 15
 
Fecha de registro: sep 2014
Mensajes: 15
Modelo de smartphone: Galaxy S5
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Distribución de elementos en layout

¿Como se hace para distribuir verticalmente elementos y que queden equidistantes.?
Por ejemplo, si tengo 3 imagenes (ImageView), querría que haya la misma distancia entre ellos y con los bordes superior e inferior de la pantalla.
Responder Con Cita


  #2  
Viejo 28/10/14, 10:50:42
Avatar de Guixe94
Guixe94 Guixe94 no está en línea
Desarrollador
Mensajes: 900
 
Fecha de registro: abr 2012
Localización: Barcelona, Catalunya
Mensajes: 900
Modelo de smartphone: HTC ONE y Galaxy Note 3
Versión de ROM: Ultima Orange Stock
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
Pues primero pones la orientacion del layour en vertical y luego a cada objeto le puedes añadir un margin top o bottom de la separacion que quieras en cada uno
Responder Con Cita
Gracias de parte de:
  #3  
Viejo 28/10/14, 12:20:50
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Usando "layout_weight" y como contenedor padre un LinearLayout con "orientation" vertical, también cada elemento en el LinearLayout debe tener un "height" de 0.
Responder Con Cita
Gracias de parte de:
  #4  
Viejo 29/10/14, 02:39:37
Avatar de JamesRevelo
JamesRevelo JamesRevelo no está en línea
Usuario poco activo
Mensajes: 29
 
Fecha de registro: oct 2014
Mensajes: 29
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Usa un Relative Layout y haz que los elementos no centrales dependan de los bordes del view del centro
Responder Con Cita
Gracias de parte de:
  #5  
Viejo 29/10/14, 12:20:39
Avatar de androizado
androizado androizado no está en línea
Miembro del foro
Mensajes: 191
 
Fecha de registro: dic 2012
Mensajes: 191
Modelo de smartphone: Nexus 5
Versión de ROM: 5.0.1 Lollipop
Tu operador: Vodafone
Mencionado: 0 comentarios
Tagged: 0 hilos
Yo utilizaría lo siguiente, que es como mejor me manejo. Pero a lo mejor hay mejores opciones.

Código:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:weightSum="3">

            <ImageView
                android:id="@+id/image1"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:padding="10dp"
                android:src="@drawable/ic_launcher" />

            <ImageView
                android:id="@+id/image2"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:padding="10dp"
                android:src="@drawable/ic_launcher" />
            
            <ImageView
                android:id="@+id/image3"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"   
                android:padding="10dp"
                android:src="@drawable/ic_launcher" />

    </LinearLayout>

</LinearLayout>
Espero que te sirva
Responder Con Cita
Gracias de parte de:
  #6  
Viejo 29/10/14, 18:21:33
Avatar de MortadeloComic
MortadeloComic MortadeloComic no está en línea
Usuario novato en la web
Mensajes: 15
 
Fecha de registro: sep 2014
Mensajes: 15
Modelo de smartphone: Galaxy S5
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Estoy siguiendo el ejemplo de @androizado, y parece ir bien, el problema es que me estira las imágenes horizontalmente, se nota sobre todo al poner la tableta en posición horizontal, entonces ¿como alterar el alto de la imagen (el valor height) para mantener la relación de aspecto de alto y ancho?

Al final ,e va mejor con el método de @Jamesravelo.

Última edición por MortadeloComic Día 29/10/14 a las 18:51:17
Responder Con Cita
  #7  
Viejo 30/10/14, 10:17:10
Avatar de gonza28
gonza28 gonza28 no está en línea
Desarrollador
Mensajes: 4,191
 
Fecha de registro: feb 2012
Localización: INTERESA?
Mensajes: 4,191
Modelo de smartphone: Samsung Galaxy Note 4
Versión de ROM: Android Lollipop 5.1.1
Tu operador: Personal
Mencionado: 6 comentarios
Tagged: 0 hilos
No es gran cosa lo que voy a aportar pero puede servir ya que justo estoy peleando con un scroll. L cuestion es que con u RelativeLayout preparé esto. a demas tiene un scroll y dentro de el un LinearL. pero en el Relative puedes alinear como quieras.

[PHP]<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="2dp"
android:layout_marginTop="2dp" >

<ImageView
android:id="@+id/img_empanadas"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="7dp"
android:src="@drawable/ic_fibers_sb" />

<ImageView
android:id="@+id/imag_launch_empanadas"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:src="@drawable/ic_chevron_right_white_48dp" />

<View
android:id="@+id/view7"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:background="#2e343d" />

<TextView
android:id="@+id/text_title_empanadas"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:text="Titulo largo"
android:textColor="#fb6b0c"
android:textSize="15dp" />

<TextView
android:id="@+id/text_sub_empanadas"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:text="Subtitulo"
android:textColor="#ffffff"
android:textSize="12dp" />

</RelativeLayout>[/PHP]

Resultado

Responder Con Cita
  #8  
Viejo 30/10/14, 12:09:25
Avatar de MortadeloComic
MortadeloComic MortadeloComic no está en línea
Usuario novato en la web
Mensajes: 15
 
Fecha de registro: sep 2014
Mensajes: 15
Modelo de smartphone: Galaxy S5
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
A ver, he puesto el siguiente código:

[php]
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="150dp"
android:gravity="center"
android:background="#449def"
>
<ImageView
android:id="@+id/Imagen2"
android:layout_width="120dp"
android:layout_height="120dp"
android:src="@drawable/ic_launcher"
/>
<ImageView
android:id="@+id/Imagen1"
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_marginLeft="1dp"
android:src="@drawable/ic_launcher"
android:layout_toLeftOf="@id/Imagen2"
/>

<ImageView
android:id="@+id/Imagen3"
android:layout_width="120dp"
android:layout_height="120dp"
android:src="@drawable/ic_launcher"
android:layout_toRightOf="@id/Imagen2"
/>
</RelativeLayout>[/php]

Y me sale como en la imagen adjunta, la primera imagen corresponde a un Nexus 4, y la segunda a un Nexus 10, ambas son la vista previa del emulador del Adroid Studio.

Me gustaría que en la nexus 10 me salieran más separaditas las imágenes, puedo añadir las lineas al Imagen2:
android:layout_marginLeft="50dp"
android:layout_marginRight="50dp"
pero entonces en el Nexus 4 salen las imágenes cortadas, se salen fuera de la pantalla.
No se... solo se me ocurre arreglarlo mediante código, calcular el ancho de la pantalla y el tamaño de las imagenes y en función del espacio libre asignar más o menos espacio. ¿como lo veis?
Otra cosa curiosa, si al Imagen1 le elimino la linea android:layout_marginLeft="1dp" me desaparece una de las 3 imágenes, vamos que en lugar de ver 3 androids veo 2... ¿porque pasa esto?.
Imágenes Adjuntas
Tipo de Archivo: jpg pantallas.jpg (64.1 KB, 13 visitas)
Responder Con Cita
  #9  
Viejo 30/10/14, 12:30:00
Avatar de gonza28
gonza28 gonza28 no está en línea
Desarrollador
Mensajes: 4,191
 
Fecha de registro: feb 2012
Localización: INTERESA?
Mensajes: 4,191
Modelo de smartphone: Samsung Galaxy Note 4
Versión de ROM: Android Lollipop 5.1.1
Tu operador: Personal
Mencionado: 6 comentarios
Tagged: 0 hilos
Para las tablets, creas otra layout apropiadas para ellas y alli pegas tus codigos nuevamente y los ubicas como quieres. No se verá bien nuca en una tablet real (aviso).
Nuevamente debes crear las layout para las distintas tablet, aun que acomodes como acomodes, en el emulador es una cosa, en la tablet es otra. (crea las layout)
Responder Con Cita
Gracias de parte de:
  #10  
Viejo 30/10/14, 13:13:34
Avatar de MortadeloComic
MortadeloComic MortadeloComic no está en línea
Usuario novato en la web
Mensajes: 15
 
Fecha de registro: sep 2014
Mensajes: 15
Modelo de smartphone: Galaxy S5
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Pues si, parece buena tecnica lo de hacer un layout para la tableta y otra para los moviles. Sigo provando.
Responder Con Cita
  #11  
Viejo 01/11/14, 12:06:34
Avatar de MortadeloComic
MortadeloComic MortadeloComic no está en línea
Usuario novato en la web
Mensajes: 15
 
Fecha de registro: sep 2014
Mensajes: 15
Modelo de smartphone: Galaxy S5
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Bueno, estoy poniendo unas imagenes centradas como se ve en las fotos que puse en el mensaje #8 de este hilo. lo he conseguido haciendo lo que ha dicho @gonza28, lo de poner layout diferentes para tabletas y para moviles, ahora quería elimiar el título de la aplicación, ¿como lo eliminais vosotros?.
Lo he intentado poniendo android:theme="@android:style/Theme.NoTitleBar.Fullscreen" en el android manifest, y viendo las previas del android studio, funciona para la nexus 10, pero no para el nexus 4, y no entiendo porque, (moviles y tabletas reales no tengo por aquí para provar en este momento.). También lo he intentado mediante programación con requestWindowFeature(Window.FEATURE_NO_TITLE); y lo mismo, en las previas se ve sin título para la nexus 10 y con título para la nexus 4... ¿será fallo del android studio?
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 07:09:12 (GMT +2)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007