Разница между полем просмотра и маржи

В чем разница между маркой View и Padding?

Ответ 1

Чтобы помочь мне запомнить смысл дополнений, я думаю о большом пальто с большим количеством толстой хлопковой прокладки . Я внутри пальто, но я и мой мягкий куртка вместе. Мы - подразделение.

Но помнить margin, я думаю, " Эй, дайте мне некоторый запас!" Это пустое пространство между мной и вами. Не заходите в мою зону комфорта - мой запас.

Чтобы сделать это более понятным, вот изображение отступов и полей в TextView:

введите описание изображения здесь

расположение xml для изображения выше

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

Похожие

Ответ 2

Прокладка - это пространство внутри границы, между границей и фактическим содержимым. Обратите внимание, что заполнение полностью совпадает с содержимым: на верхней, нижней, правой и левой сторонах есть прокладка (которая может быть независимой).

Поля - это пробелы вне границы, между границей и другими элементами рядом с этим представлением. На изображении край является серой областью вне всего объекта. Обратите внимание, что, подобно заполнению, маржа полностью распространяется на содержимое: на верхней, нижней, правой и левой сторонах есть поля.

Изображение содержит более 1000 слов (извлечено из Margin Vs Padding - Свойства CSS):

alt text

Ответ 3

Заполнение находится внутри представления.

Маржа находится за пределами представления.

Это различие может иметь отношение к свойствам фона или размера.

Ответ 4

Заполнение находится в пределах представления, маржа находится снаружи. Прокладка доступна для всех видов. В зависимости от вида может быть или не быть визуальное различие между отступом и запасом.

Для кнопок, например, фоновое изображение кнопки характеристики включает в себя дополнение, но не поле. Другими словами, добавление большего количества дополнений делает кнопку визуально более крупной, в то время как добавление большего запаса просто увеличивает разрыв между кнопкой и следующим элементом управления.

Для TextView s, с другой стороны, визуальный эффект заполнения и поля идентичен.

Доступен ли маржа или нет, определяется контейнером представления, а не самим представлением. В LinearLayout поддерживается маржа в AbsoluteLayout (теперь считается устаревшей) - нет.

Ответ 5

Ниже изображение позволит вам понять отступы и поля -

enter image description here

Ответ 6

Заполнение - это пространство внутри границы между границей и фактическим содержимым изображения или ячейки. Поля - это пробелы вне границы, между границей и другими элементами рядом с этим объектом.

Ответ 7

Иногда вы можете добиться того же результата, играя только с отступом или маржи. Пример:

Say View X содержит вид Y (aka: View Y находится внутри View X).

-View Y с Margin = 30 OR View X с Padding = 30 достигнет того же результата: View Y будет иметь смещение 30.

Ответ 8

Перетяжка
 Например, если вы даете android:paddingLeft=20dp, то элементы внутри представления будут располагаться с шириной 20dp слева. Вы также можете использовать paddingRight, paddingBottom, paddingTop, которые должны быть дайте отступы справа, снизу и сверху соответственно.

Margin
Маржа находится за пределами View. Например, если вы дадите android:marginLeft=20dp, тогда представление будет расположено после 20dp слева.

Ответ 9

Заполнение означает пробел между виджетами и исходным кадром виджетов. Но маржа - это пробел между исходным фреймом виджета и другими рамками виджетов. введите описание изображения здесь.

Ответ 10

Предположим, что у вас есть кнопка в представлении, а размер представления - 200 на 200, а размер кнопки - 50 на 50, а заголовок кнопки - HT, теперь разница между полями и отступом есть, вы может установить маркер кнопки в поле зрения, например, 20 из левого 20 сверху, а отступы будут корректировать текстовую позицию в кнопке или текстовом изображении и т.д., например, значение заполнения составляет 20 слева. поэтому он отрегулирует положение текста.

Ответ 11

Маржа относится к дополнительному пространству вне элемента. Заполнение означает дополнительное пространство внутри элемента. Поля - дополнительное пространство вокруг элемента управления. Прокладка - дополнительное пространство внутри элемента управления.

Трудно видеть разницу с полем и заполнением с белой заливкой, но с цветной заливкой вы можете видеть это хорошо.

Ответ 12

Простыми словами:
padding изменяет размер окна (с чем-то).
margin изменяет пространство между различными ячейками

Ответ 13

В дополнение ко всем правильным ответам выше, еще одно отличие состоит в том, что добавление увеличивает зону просмотра, а поля - нет. Это полезно, если у вас есть маленькое изображение с кликом, но вы хотите, чтобы обработчик кликов прощал.

Например, см. это изображение моего макета с помощью значка ImageView (значок Android), где я устанавливаю paddingBotton как 100dp (изображение представляет собой mipmap пусковой установки ic_launcher). С помощью прикрепленного обработчика кликов я смог щелкнуть по внешнему и под изображением и все еще зарегистрировать щелчок.

введите описание изображения здесь

Ответ 14

Простыми словами:

  • Заполнение - создает пространство внутри рамки вида.
  • Маржа - создает пространство вне границы вида.