fill_parent
(obsoleto) = match_parent
El borde de la vista secundaria se expande para coincidir con el borde de la vista principal.
wrap_content
La frontera de la vista del niño envuelve cómodamente alrededor de su propio contenido.
Aquí hay algunas imágenes para aclarar las cosas. El verde y el rojo son TextViews
. El blanco es un LinearLayout
mostrando a través.
Cada View
(a TextView
, un ImageView
, un Button
, etc.) tiene que establecer la width
y la height
de la vista. En el archivo de diseño xml, que podría tener este aspecto:
android:layout_width="wrap_content"
android:layout_height="match_parent"
Además de establecer la anchura y la altura a match_parent
o wrap_content
, también se puede ajustar a un valor absoluto:
android:layout_width="100dp"
android:layout_height="200dp"
Generalmente es decir no tan bueno, sin embargo, porque no es tan flexible para dispositivos de diferentes tamaños. Después de haber entendido wrap_content
y match_parent
, lo siguiente que debe saber es layout_weight
.
Ver también
XML para las imágenes anteriores
vertical LinearLayout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="width=wrap height=wrap"
android:background="#c5e1b0"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="width=match height=wrap"
android:background="#f6c0c0"/>
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="width=match height=match"
android:background="#c5e1b0"/>
</LinearLayout>
Horizontal LinearLayout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="WrapWrap"
android:background="#c5e1b0"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="WrapMatch"
android:background="#f6c0c0"/>
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="MatchMatch"
android:background="#c5e1b0"/>
</LinearLayout>
Nota
La explicación de esta respuesta supone que no hay margin or padding. Pero incluso si lo hay, el concepto básico sigue siendo el mismo. El borde/espaciado de vista simplemente se ajusta por el valor del margen o relleno.
Tenga en cuenta que el 'fill_parent' se renombró' match_parent' en API Nivel 8 y superior. – gfrigon