android user-interface view padding margin

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



user-interface view (14)

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.

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


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.


Debajo de la imagen le permitirá comprender el relleno y el margen


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 la vista, el margen está fuera. El relleno está disponible para todas las vistas. Dependiendo de la vista, puede haber o no una diferencia visual entre el relleno y el margen.

Para los botones, por ejemplo, la imagen de fondo del botón característico incluye el relleno, pero no el margen. En otras palabras, agregar más relleno hace que el botón se vea más grande visualmente, mientras que agregar más margen solo hace que el espacio entre el botón y el siguiente control sea más amplio.

Para TextView s, por otro lado, el efecto visual del relleno y el margen es idéntico.

Si el margen está disponible o no está determinado por el contenedor de la vista, no por la vista en sí. En LinearLayout se admite el margen, en AbsoluteLayout (considerado obsoleto ahora) - no.


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


En palabras simples:
El relleno cambia el tamaño de la caja (con algo).
margen cambia el espacio entre diferentes cajas


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.


El relleno es el espacio dentro del borde, entre el borde y el contenido de la vista real. Tenga en cuenta que el relleno va completamente alrededor del contenido: hay un relleno en la parte superior, inferior, derecha e izquierda (que puede ser independiente).

Los márgenes son los espacios fuera del borde, entre el borde y los otros elementos junto a esta vista. En la imagen, el margen es el área gris fuera del objeto completo. Tenga en cuenta que, al igual que el relleno, el margen gira completamente alrededor del contenido: hay márgenes en los lados superior, inferior, derecho e izquierdo.

Una imagen dice más de 1000 palabras (extraídas de Margin Vs Padding - CSS Properties ):


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.