Quelle est la différence entre la marge d'une vue et le remplissage?
Quelle est la différence entre la marge d'une vue et le remplissage?
Réponses:
Pour m'aider à me souvenir de la signification du rembourrage , je pense à un gros manteau avec beaucoup de rembourrage en coton épais . Je suis à l'intérieur de mon manteau, mais moi et mon manteau rembourré sommes ensemble. Nous sommes une unité.
Mais pour me souvenir de la marge , je pense à " Hé, donnez-moi une marge! " C'est l'espace vide entre moi et vous. N'entrez pas dans ma zone de confort - ma marge.
Pour le rendre plus clair, voici une image de remplissage et de marge dans un TextView
:
<?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"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="#c5e1b0"
android:textColor="#000000"
android:text="TextView margin only"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="#f6c0c0"
android:textColor="#000000"
android:text="TextView margin only"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#c5e1b0"
android:padding="10dp"
android:textColor="#000000"
android:text="TextView padding only"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#f6c0c0"
android:padding="10dp"
android:textColor="#000000"
android:text="TextView padding only"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="#c5e1b0"
android:textColor="#000000"
android:padding="10dp"
android:text="TextView padding and margin"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="#f6c0c0"
android:textColor="#000000"
android:padding="10dp"
android:text="TextView padding and margin"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#c5e1b0"
android:textColor="#000000"
android:text="TextView no padding no margin"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#f6c0c0"
android:textColor="#000000"
android:text="TextView no padding no margin"
android:textSize="20sp" />
</LinearLayout>
Le remplissage est l'espace à l'intérieur de la bordure, entre la bordure et le contenu réel de la vue. Notez que le rembourrage entoure complètement le contenu: il y a un rembourrage en haut, en bas, à droite et à gauche (qui peut être indépendant).
Les marges sont les espaces à l'extérieur de la bordure, entre la bordure et les autres éléments à côté de cette vue. Dans l'image, la marge est la zone grise à l'extérieur de l'objet entier. Notez que, comme le remplissage, la marge entoure complètement le contenu: il y a des marges en haut, en bas, à droite et à gauche.
Une image contient plus de 1000 mots (extraits de Margin Vs Padding - Propriétés CSS ):
Le rembourrage est dans la vue, la marge est à l'extérieur. Le rembourrage est disponible pour toutes les vues. Selon la vue, il peut y avoir ou non une différence visuelle entre le rembourrage et la marge.
Pour les boutons, par exemple, l'image d'arrière-plan du bouton caractéristique inclut le remplissage, mais pas la marge. En d'autres termes, l'ajout de plus de rembourrage rend le bouton visuellement plus grand, tandis que l'ajout de marge élargit simplement l'écart entre le bouton et le contrôle suivant.
Pour TextView
s, en revanche, l'effet visuel du rembourrage et de la marge est identique.
La disponibilité ou non de la marge est déterminée par le conteneur de la vue et non par la vue elle-même. En LinearLayout
marge est pris en charge, en AbsoluteLayout
(considéré comme obsolète maintenant) - non.
L'image ci-dessous vous permettra de comprendre le rembourrage et la marge-
Parfois, vous pouvez obtenir le même résultat en jouant uniquement avec un remplissage OU une marge. Exemple :
Supposons que la vue X contient la vue Y (alias: la vue Y se trouve dans la vue X).
-Voir Y avec Marge = 30 OU Voir X avec Rembourrage = 30 donnera le même résultat: La vue Y aura un décalage de 30.
Rembourrage
Rembourrage est à l' intérieur d'un exemple View.For si vous donnez android:paddingLeft=20dp
, alors les éléments à l' intérieur de la vue s'arrangera avec une 20dp
largeur de left.You peut également utiliser paddingRight
, paddingBottom
, paddingTop
qui doivent donner un rembourrage de droite, en bas et en haut , respectivement.
Marge
Margin est en dehors de a View
. Par exemple, si vous donnez android:marginLeft=20dp
, la vue sera organisée après 20dp
de gauche.
Supposons simplement que vous ayez un bouton dans une vue et que la taille de la vue soit 200 par 200, que la taille du bouton soit 50 par 50 et que le titre du bouton soit HT. Maintenant, la différence entre la marge et le remplissage est, vous pouvez définir la marge du bouton dans la vue, par exemple 20 à partir de la gauche, 20 à partir du haut, et le remplissage ajustera la position du texte dans le bouton ou la vue texte, etc. par exemple , la valeur de remplissage est de 20 à partir de la gauche, donc elle ajustera la position du texte.
La marge fait référence à l'espace supplémentaire à l'extérieur d'un élément. Le remplissage fait référence à l'espace supplémentaire dans un élément. La marge est l'espace supplémentaire autour du contrôle. Le rembourrage est un espace supplémentaire à l'intérieur du contrôle.
Il est difficile de voir la différence avec la marge et le rembourrage avec un remplissage blanc, mais avec un remplissage coloré, vous pouvez le voir très bien.
En plus de toutes les bonnes réponses ci - dessus, une autre différence est que remplissage augmente la zone cliquable d'un point de vue, alors que les marges ne le font pas . Ceci est utile si vous avez une petite image cliquable mais que vous voulez que le gestionnaire de clics pardonne.
Pour exemple, voir cette image de ma mise en page avec un ImageView
(l'icône Android) où je mets le paddingBotton
pour être 100dp
(l'image est le lanceur stock mipmap ic_launcher
). Avec le gestionnaire de clic ci-joint, j'ai pu cliquer bien en dehors et en dessous de l'image et toujours enregistrer un clic.
En termes simples:
En termes simples: le
rembourrage change la taille de la boîte (avec quelque chose).
margin change l'espace entre les différentes cases