Android XML布局的padding和margin属性是用来给你的视图布局添加空间的。
padding属性用于设置内容和部件元素的边界之间的空间。
margin属性用于设置视图之外的空间。
下面是TextView 的padding和margin属性的说明:

安卓的padding与margin
让我们看一个在XML布局中应用paddings和margin的例子:
假设你在一个LinearLayout 中有两个TextView widgets,如下图所示:

带有两个TextViews的Android布局
让我们把padding 属性添加到TextView1 widget上:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="48dp"
android:text="TextView1" />
你会在设计视图中看到布局的变化,在TextView1 widget上添加了空格,如下图:

Android添加padding属性
接下来,让我们给TextView2 小组件添加一些边距:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="24dp"
android:text="TextView2" />
通过向TextView2 小组件添加layout_margin 属性,你会看到该小组件似乎与TextView1 小组件有一些距离。

Android添加margin属性
这是因为在TextView2 小组件的周围已经应用了24dp 的边距。
这就是Android布局中边距和间距的全部内容。
设置padding 和layout_margin 属性将在你定义属性的视图的四个边上添加边距和空白。
你可以使用Android提供的属性来设置视图的各个边。
填充属性的完整列表如下:
paddingpaddingStartpaddingEndpaddingToppaddingRightpaddingBottompaddingLeftpaddingVerticalpaddingHorizontal
这些属性的名称都是自行解释的。
paddingVertical 是用来设置视图上下两边的paddings的(就像应用paddingTop 和paddingBottom ,数值是一样的)
而paddingHorizontal 是用来设置视图的左右两侧的。
paddingStart 和paddingEnd 属性的工作方式与paddingLeft 和paddingRight 属性类似,但它们能意识到你的布局中使用的字母方向。
这意味着当你使用从右到左(RTL)的区域设置时,paddingStart 会影响视图的右侧而不是左侧。
对于边距属性也是如此:
layout_marginlayout_marginStartlayout_marginEndlayout_marginToplayout_marginRightlayout_marginBottomlayout_marginLeftlayout_marginVerticallayout_marginHorizontal
现在你已经了解了Android XML布局中边距和间距的区别。干得好!👍