fill_parent
(déprécié) \= match_parent
La bordure de la vue enfant s'étend pour correspondre à la bordure de la vue parent.
wrap_content
La bordure de la vue enfant s'enroule parfaitement autour de son propre contenu.
Voici quelques images pour rendre les choses plus claires. Le vert et le rouge sont TextViews
. Le blanc est un LinearLayout
en montrant à travers.
Chaque View
(a TextView
, un ImageView
, a Button
etc.) doit définir le width
y el height
de la vue. Dans le fichier de mise en page xml, cela pourrait ressembler à ceci :
android:layout_width="wrap_content"
android:layout_height="match_parent"
En plus de fixer la largeur et la hauteur à match_parent
o wrap_content
vous pouvez également les fixer à une valeur absolue :
android:layout_width="100dp"
android:layout_height="200dp"
Mais en général, ce n'est pas aussi bon, car il n'est pas aussi flexible pour les appareils de différentes tailles. Après avoir compris wrap_content
y match_parent
la prochaine chose à apprendre est layout_weight
.
Voir aussi
XML pour les images ci-dessus
LinearLayout vertical
<?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>
Note
L'explication dans cette réponse suppose qu'il n'y a pas de marge ou rembourrage . Mais même si c'est le cas, le concept de base est toujours le même. La bordure/l'espacement de l'affichage est simplement ajusté par la valeur de la marge ou du rembourrage.
34 votes
Notez que le
fill_parent
a été renommématch_parent
dans les API de niveau 8 et plus.