视图的Padding和Margin之间的区别

585

视图的margin和padding有什么区别?


10
填充(Padding)在边框内部,外边距(Margin)在边框外部。有关详细信息,请参阅W3C盒模型。虽然这篇博客文章更易读 :-) 。 - Aaron Digulla
2
这可能会有帮助 声明布局 - Sharique Abdullah
4
这与HTML相同,更多内容请参见此处:https://dev59.com/d3I95IYBdhLWcg3wtwRe#5888753 - Scott
请查看我的答案,链接如下: https://dev59.com/mGEh5IYBdhLWcg3w1mfs#46649472 - Eugene Brusov
15个回答

3
除了上面所有正确的答案之外,另一个区别是padding增加了视图的可点击区域,而边距则不会。如果您有一个较小的可点击图片,但希望使点击处理程序更容易触发,则这很有用。
例如,看看我的布局中带有ImageView(Android图标)的这个图像,我将paddingBotton设置为100dp(图像是股票启动器mipmap ic_launcher)。随附的单击处理程序使我能够在图像之外和下方点击,仍然能够注册点击事件。

enter image description here


3

简单来说:

  1. 内边距 - 在视图的边框内部创建空间。
  2. 外边距 - 在视图的边框外部创建空间。

2

Margin(外边距)是在一个元素外部的额外空间,Padding(内边距)是在元素内部的额外空间。Margin(外边距)是控件周围的额外空间,Padding(内边距)是控件内部的额外空间。

在白色填充下很难看出 Margin(外边距)和 Padding(内边距)的区别,但是在有颜色填充的情况下就可以清晰地看到它们的区别了。


2

简单来说:
padding 改变盒子(内部)的大小。
margin 改变不同盒子之间的空间。


1

Padding 用于在视图和其内容之间添加空白间隔。

enter image description here

Margin 用于在不同视图之间添加空间。

enter image description here 对于填充和边距,我们有两种设置方式:

  • 将所有边缘设置为相等的值
  • 根据需要设置特定边缘的值

所有边缘相等的值:

您可以使用 android:padding="15dp" 来设置所有边缘的填充为15dp

并且使用 android:layout_margin="15dp" 来设置所有边缘的边距为15dp

特定边缘的值:

填充

  • android:paddingBottom 设置底部边缘的填充
  • android:paddingStart 设置开始边缘的填充,即视图左侧
  • android:paddingEnd 设置结束边缘的填充,即视图右侧
  • android:paddingTop 设置顶部边缘的填充

Margin

  • android:layout_marginBottom 指定此视图底部的额外空间。
  • android:layout_marginEnd 指定此视图右侧(即结束侧)的额外空间。
  • android:layout_marginStart 指定此视图左侧(即起始侧)的额外空间。
  • android:layout_marginTop 指定此视图顶部的额外空间。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接