Différence entre le rembourrage et la marge d'une vue
Quelle est la différence entre la marge D'une vue et le rembourrage?
14 réponses
pour m'aider à me souvenir de la signification de padding , je pense à un grand manteau avec beaucoup de épais coton padding . Je suis dans mon manteau, mais moi et mon manteau rembourré sommes ensemble. Nous sommes une unité.
mais pour se rappeler marge , je pense à Hé, donnez-moi un peu de marge! " C'est l'espace vide entre moi et vous. Ne rentre pas dans ma zone de confort ... ma marge.
pour le rendre plus clair, voici une image de rembourrage et de marge dans un TextView
:
xml de mise en page de l'image ci-dessus
<?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>
lié
Padding est l'espace à l'intérieur de la frontière, entre la frontière et le contenu de la vue réelle. Notez que le rembourrage entoure complètement le contenu: il y a du rembourrage sur les côtés supérieur, inférieur, droit et gauche (qui peuvent être indépendants).
marges sont les espaces à l'extérieur de la frontière, entre la frontière et les autres éléments à côté de cette vue. Dans l'image, la marge est la zone grise à l'extérieur de l'ensemble de l'objet. Notez que, comme le rembourrage, la marge contourne complètement le contenu: il y a des marges sur les côtés supérieur, inférieur, droit et gauche.
Une image en dit plus que 1000 mots (extrait de Marge Vs Padding - Propriétés CSS ):
rembourrage est à l'intérieur d'une vue.
marge est à l'extérieur d'une vue.
cette différence peut être pertinente pour les propriétés de l'arrière-plan ou de la taille.
rembourrage est à l'intérieur de la vue, marge est à l'extérieur. Un 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, le bouton caractéristique de l'image de fond comprend le rembourrage, mais pas la marge. En d'autres termes, l'ajout de plus de rembourrage rend le bouton plus grand visuellement, tandis que l'ajout de plus de marge fait juste l'écart entre le bouton et la commande suivante plus large.
pour TextView
s, par contre, l'effet visuel du rembourrage et de la marge est identique.
la question de savoir si une marge est disponible ou non est déterminée par le conteneur de la vue et non par la vue elle-même. Dans LinearLayout
marge est supporté, dans AbsoluteLayout
(considéré obsolète maintenant) - no.
L'image ci-dessous vous permettra de comprendre le rembourrage et la marge -
Remplissage est l'espace à l'intérieur de la frontière entre la frontière et l'image ou le contenu de la cellule. Les marges sont les espaces à l'extérieur de la frontière, entre la frontière et les autres éléments à côté de cet objet.
parfois, vous pouvez obtenir le même résultat en jouant seulement avec le rembourrage ou la marge. Exemple:
dire que la vue X contient la vue Y (alias : la vue Y est à L'intérieur de la vue X).
- Vue Y Avec marge=30 ou vue X avec capitonnage=30 donnera le même résultat: Vue Y aura un décalage de 30.
capitonnage
Le rembourrage est à l'intérieur d'une vue.Par exemple , si vous donnez android:paddingLeft=20dp
, alors les éléments à l'intérieur de la vue s'arrangeront avec 20dp
largeur de gauche.Vous pouvez également utiliser paddingRight
, paddingBottom
, paddingTop
qui sont de donner le rembourrage de la droite, en bas et en haut respectivement.
marge
La marge est en dehors d'un View
. Par exemple, si vous donner android:marginLeft=20dp
, puis la vue sera organisée après 20dp
de gauche.
rembourrage désigne l'espace entre le cadre d'origine du widget et du widget. Mais la marge est l'espace entre le cadre d'origine du widget pour délimiter le cadre d'un autre widget. .
laisse supposer que vous avez un bouton dans une vue et la taille de la vue est de 200 par 200, et la taille du bouton est de 50 par 50, et le titre du bouton est HT, maintenant la différence entre la marge et le rembourrage est, vous pouvez régler la marge du bouton dans la vue, par exemple 20 à gauche 20 à partir du haut, et le rembourrage ajustera la position du texte dans le bouton ou textview etc par exemple, la valeur de remplissage est de 20 à partir de la gauche. pour régler la position du texte.
Marge se réfère à l'espace supplémentaire à l'extérieur d'un élément. Rembourrage se réfère à l'espace supplémentaire à l'intérieur d'un élément. La marge est l'espace supplémentaire autour du contrôle. Le rembourrage est un espace supplémentaire à l'intérieur de la commande.
il est difficile de voir la différence avec la marge et le rembourrage avec un remplissage blanc, mais avec un remplissage de couleur, vous pouvez le voir très bien.
en plus de toutes les bonnes réponses ci-dessus, une autre différence est que capitonnage augmente la surface cliquable d'une vue, tandis que marges ne le font pas. Ceci est utile si vous avez une petite image cliquable mais que vous voulez faire le gestionnaire de clic pardonner.
par exemple, voir cette image de ma mise en page avec un ImageView
(l'icône Android) où j'ai placé le paddingBotton
pour être 100dp
(la l'image est le lanceur stock mipmap ic_launcher
). Avec le gestionnaire de clic attaché j'ai été en mesure de cliquer à l'extérieur et au-dessous de l'image et encore enregistrer un clic.
en termes simples:
- rembourrage - crée de l'espace à l'intérieur de la bordure de la vue.
- marge-crée de l'espace à l'extérieur de la limite de la vue.