Разница между заполнением и полем вида
в чем разница между полем зрения и заполнением?
14 ответов:
, чтобы помочь мне вспомнить значение обивка, Я думаю о большом пальто с большим количеством толстая ватная прокладка. Я в пальто, но я и мой ватник вместе. Мы-единое целое.
но помню рентабельность, Я думаю, " - Эй, дай мне какой-то запас!
обивка - это пространство внутри границы, между границей и содержимым фактического представления. Обратите внимание, что заполнение идет полностью вокруг контента: есть заполнение на верхней, нижней, правой и левой сторонах (которые могут быть независимыми).
поля - Это пространства за пределами границы, между границей и другими элементами рядом с этим представлением. На изображении поле-это серая область за пределами всего объекта. Обратите внимание, что, как и обивка, поля идут полностью вокруг содержимого: есть поля на верхней, нижней, правой и левой сторонах.
изображение говорит более 1000 слов (извлечено из Margin Vs Padding-CSS Properties):
обивка находится внутри вида.
поле находится за пределами представления.
Это различие может иметь отношение к свойствам фона или размера.
заполнение находится в пределах представления, поле находится снаружи. Обивка доступна для всех видов. В зависимости от вида, может быть или не быть визуальной разницы между заполнением и полями.
для кнопок, например, характерное фоновое изображение кнопки включает заполнение, но не поле. Другими словами, добавление большего отступа делает кнопку визуально больше, в то время как добавление большего поля просто делает зазор между кнопкой и следующим элементом управления более широкий.
на
TextView
S, с другой стороны, визуальный эффект padding и margin идентичен.наличие или отсутствие поля определяется контейнером представления, а не самим представлением. В
LinearLayout
маржа поддерживается, вAbsoluteLayout
(считается устаревшим сейчас) - нет.
заполнение-это пространство внутри границы между границей и фактическим изображением или содержимым ячейки. Поля-это пространства за пределами границы, между границей и другими элементами рядом с этим объектом.
иногда вы можете достичь того же результата, играя только с отступом или маржей. Пример :
скажем, вид X содержит вид Y (он же : вид Y-внутренний вид X).
- просмотр Y С полем=30 или просмотр X с заполнением=30 приведет к тому же результату: просмотр Y будет иметь смещение 30.
обивка
Обивка находится внутри вида.Например, если вы даетеandroid:paddingLeft=20dp
, то элементы внутри представления будет организовать с20dp
ширина слева.Вы также можете использоватьpaddingRight
,paddingBottom
,paddingTop
, которые должны дать отступ справа, снизу и сверху соответственно.рентабельность
Маржа находится за пределамиView
. Например, если вы даетеandroid:marginLeft=20dp
, то вид будет организован после20dp
слева.
давайте просто предположим, что у вас есть кнопка в представлении, и размер представления 200 на 200, и размер кнопки 50 на 50, а название кнопки-HT, теперь разница между полем и заполнением, вы можете установить поле кнопки в представлении, например 20 слева 20 сверху, и заполнение будет регулировать положение текста в кнопке или textview и т. д. например, значение заполнения-20 слева. так он будет регулировать положение текста.
Margin относится к дополнительному пространству вне элемента. Заполнение относится к дополнительному пространству внутри элемента. Поле-это дополнительное пространство вокруг элемента управления. Обивка-это дополнительное пространство внутри элемента управления.
трудно увидеть разницу с полями и заполнением с белой заливкой, но с цветной заливкой вы можете видеть это хорошо.
простыми словами:
заполнение изменяет размер коробки (с чем-то).
маржа изменяет пространство между различными полями
в дополнение ко всем правильным ответам выше, еще одно отличие заключается в том, что обивка увеличивает кликабельную область представления, тогда как поля нет. Это полезно, если у вас есть небольшое кликабельное изображение, но вы хотите, чтобы обработчик кликов прощал.
например, см. Это изображение моего макета с
ImageView
(значок Android), где я установилpaddingBotton
на100dp
(изображение является стоковой пусковой mipmapic_launcher
). С прикрепленный обработчик щелчка я смог щелкнуть путь снаружи и под изображением и все еще зарегистрировать щелчок.