android - Diferencia entre el relleno y el margen de una vista




user-interface view (10)

¿Cuál es la diferencia entre el margen de vista y el relleno?


A veces puedes lograr el mismo resultado jugando solo con relleno O margen. Ejemplo:

Say View X contiene view Y (también conocido como: View Y está dentro de View X).

-Ver Y con margen = 30 O Ver X con relleno = 30 obtendrá el mismo resultado: Ver Y tendrá un desplazamiento de 30.


Además de todas las respuestas correctas anteriores, otra diferencia es que el relleno aumenta el área en la que se puede hacer clic en una vista, mientras que los márgenes no. Esto es útil si tiene una imagen pequeña en la que se puede hacer clic pero desea hacer que el controlador de clics perdone.

Por ejemplo, vea esta imagen de mi diseño con un ImageView (el ícono de Android) donde configuro el paddingBotton para que sea 100dp (la imagen es el lanzador de inventario ic_launcher ). Con el controlador de clics adjunto, pude hacer clic fuera y debajo de la imagen y aún así registrar un clic.


El margen se refiere al espacio extra fuera de un elemento. El relleno se refiere al espacio extra dentro de un elemento. El margen es el espacio extra alrededor del control. El relleno es espacio extra dentro del control.

Es difícil ver la diferencia con el margen y el relleno con un relleno blanco, pero con un relleno de color se puede ver bien.


El relleno es el espacio dentro del borde entre el borde y la imagen real o el contenido de la celda. Los márgenes son los espacios fuera del borde, entre el borde y los otros elementos junto a este objeto.


El relleno está dentro de una vista.

El margen está fuera de una vista.

Esta diferencia puede ser relevante para las propiedades de fondo o tamaño.


El relleno significa espacio entre el widget y el cuadro original del widget. Pero el margen es un espacio entre el marco original del widget y los límites del marco de otro widget. .


Para ayudarme a recordar el significado del relleno , pienso en un abrigo grande con mucho relleno de algodón grueso . Estoy dentro de mi abrigo, pero yo y mi abrigo acolchado estamos juntos. Somos una unidad.

Pero para recordar margen , pienso en " ¡Oye, dame un poco de margen! " Es el espacio vacío entre tú y yo. No entres en mi zona de confort, mi margen.

Para que quede más claro, aquí hay una imagen de relleno y margen en un TextView :

diseño xml para la imagen de arriba

<?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>

Relacionado

  • Gravedad vs layout_gravity
  • Match_parent vs wrap_content

Supongamos que tiene un botón en una vista y el tamaño de la vista es de 200 por 200, y el tamaño del botón es de 50 por 50, y el título del botón es HT, ahora la diferencia entre el margen y el relleno es, puede configurar el el margen del botón a la vista, por ejemplo, 20 desde la izquierda 20 desde arriba, y el relleno ajustará la posición del texto en el botón o vista de texto, etc. Por ejemplo, el valor del relleno es 20 desde la izquierda. Así se ajustará la posición del texto.


En palabras simples:

  1. Relleno - crea espacio dentro del borde de la vista.
  2. Margen: crea espacio fuera del borde de la vista.

Relleno
El relleno está dentro de una Vista. Por ejemplo, si le das android:paddingLeft=20dp , entonces los elementos dentro de la vista se 20dp con 20dp ancho de 20dp desde la izquierda. y superior respectivamente.

Margen
El margen está fuera de una View . Por ejemplo, si le das android:marginLeft=20dp , la vista se organizará después de 20dp desde la izquierda.





margin