视图的边距和填充之间的区别是什么?


当前回答

边距是指元素之外的额外空间。填充指的是元素内的额外空间。边距是控件周围的额外空间。填充是控件内部的额外空间。

使用白色填充时,很难看到空白和填充的区别,但使用彩色填充时,可以很好地看到它。

其他回答

填充用于在视图及其内容之间添加空白。

边距用于在不同视图之间添加空格。

对于边距和边距,我们有两种方法来设置,

两边都设为相等的值 根据需要设置边的具体值

价值相等的各方:

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

android:layout_margin="15dp"用于设置15dp所有边距

支持具体价值观:

填充

android:paddingBottom设置底部边缘的填充 android:paddingStart设置填充在开始边缘意味着在视图的左侧 android:paddingEnd设置填充在结束边缘意味着在右侧的视图 android:paddingTop设置顶部边距

保证金

layout_marginBottom在这个视图的底部指定额外的空间。 android:layout_marginEnd在结束端指定额外的空间,意味着在这个视图的右边。 android:layout_marginStart在开始侧指定额外的空间,意味着在这个视图的左边。 android:layout_marginTop在这个视图的顶部指定额外的空间。

填充是边框与实际图像或单元格内容之间的边框内的空间。 边距是边界之外的空间,在边界和对象旁边的其他元素之间。

边距在视图内,边距在视图外。填充可用于所有视图。根据视图的不同,边距和边距之间可能存在或可能没有视觉差异。

例如,对于按钮,特征按钮背景图像包括填充,但不包括空白。换句话说,添加更多的填充会使按钮在视觉上看起来更大,而添加更多的边距只会使按钮和下一个控件之间的距离更宽。

另一方面,对于TextViews,填充和边缘的视觉效果是相同的。

页边距是否可用是由视图的容器决定的,而不是视图本身。在LinearLayout中支持边距,在AbsoluteLayout(现在已经过时了)中不支持边距。

填充 填充在视图内部。例如,如果你给android:paddingLeft=20dp,那么视图内的项目将以20dp宽度从左排列。你也可以使用paddingRight, paddingBottom, paddingTop分别从右边,底部和顶部给出填充。

保证金 边距在视图之外。例如,如果你给android:marginLeft=20dp,那么视图将从左起20dp后排列。

有时你可以通过使用填充或边距来达到同样的效果。例子:

假设视图X包含视图Y(也就是:视图Y在视图X内部)。

-View Y的Margin=30或View X的Padding=30将达到相同的结果:View Y的offset为30。