layout_weight se utilizan en los LinearLayouts para asignar una
"importancia" a las vistas (objetos) que se encuentran dentro del
mismo. Todas las vistas (objetos) tienen un valor 0 para
layour_weight, lo que significa que sólo ocuparán tanto espacio en la
pantalla como necesiten para mostrarse (el espacio mínimo). Asignar un
valor más alto que cero, divisirá el resto de espacio disponible en el
"contenedor" padre de acuerdo a los layout_weight de las vistas
(objetos) y a sus ratios sobre todos los layout_weight especificados
en el layout actual para esta y otras vistas (objetos).
Veámoslo con un ejemplo: Digamos que tenemos una etiqueta de texto y
dos cuadros de edición de texto (EditText) en una fila horizontal. La
etiqueda no tiene layout_weight especificado, así que tomará el mínimo
espacio requerido para mostrarse. Si el layout_weight de cada uno de
los dos cuados de edición de texto (EditText) se pone a 1, el ancho
disponible en el layout (contenedor) padre, se dividirá en partes
iguales. De esta forma, los dos EditText serán igual de anchos. Si uno
tiene un layout_weight de 1 y el otro tiene un layout_weight de 2 (El
doble de importancia que el primero), un tercio del espacio disponible
será dado al primer EditText y dos tercios al segundo. (El segundo
EditText medirá de ancho el doble que el primero)
Volviendo al código del ejemplo:
Estos dos elementos se mostrarían igual:
Elemento 1:
<EditText id="@+id/pesetas"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:numeric="true"/>
Elemento 2:
<EditText id="@+id/euros"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"/>
Ya que cuando al segundo elemento le añadimos el layout_weight="1",
estamos invalidando el atributo layout_width="wrap_content".
Espero haberte ayudado. Voy a cambiar el tutorial para que no aparezca
y no lo haga tan complicado de entender.
¡Saludos!
On 25 nov, 00:12, Sau <manuel.tris...@gmail.com> wrote:
> Impresionante tutorial, lo he seguido paso a paso y he aprendido un
> montón. Solo me queda la duda del atributo android:layout_weight="1",
> que no he acabado de entender su funcionamiento.
> Ánimo y felicidades.
> Saludos.