Разница между заполнением и полем вида


в чем разница между полем зрения и заполнением?

14 520

14 ответов:

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

но помню рентабельность, Я думаю, " - Эй, дай мне какой-то запас!

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

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

изображение говорит более 1000 слов (извлечено из Margin Vs Padding-CSS Properties):

alt text

обивка находится внутри вида.

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

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

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

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

на TextViewS, с другой стороны, визуальный эффект padding и margin идентичен.

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

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

enter image description here

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

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

скажем, вид X содержит вид Y (он же : вид Y-внутренний вид X).

- просмотр Y С полем=30 или просмотр X с заполнением=30 приведет к тому же результату: просмотр Y будет иметь смещение 30.

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

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

заполнение означает пространство между виджетом и исходной рамкой виджета. Но поле-это пространство между исходным кадром виджета и границами кадра другого виджета.enter image description here.

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

Margin относится к дополнительному пространству вне элемента. Заполнение относится к дополнительному пространству внутри элемента. Поле-это дополнительное пространство вокруг элемента управления. Обивка-это дополнительное пространство внутри элемента управления.

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

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

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

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

enter image description here

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

  1. заполнение-создает пространство внутри границы вида.
  2. Margin-создает пространство за пределами границы вида.