安卓布局的padding与margin属性

1,107 阅读2分钟

Android XML布局的padding和margin属性是用来给你的视图布局添加空间的。

padding属性用于设置内容和部件元素的边界之间的空间。

margin属性用于设置视图之外的空间。

下面是TextView 的padding和margin属性的说明:

Android padding vs margin

安卓的padding与margin

让我们看一个在XML布局中应用paddings和margin的例子:

假设你在一个LinearLayout 中有两个TextView widgets,如下图所示:

Android layout with two TextViews

带有两个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 add padding attribute

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 add margin attribute

Android添加margin属性

这是因为在TextView2 小组件的周围已经应用了24dp 的边距。

这就是Android布局中边距和间距的全部内容。

设置paddinglayout_margin 属性将在你定义属性的视图的四个边上添加边距和空白。

你可以使用Android提供的属性来设置视图的各个边。

填充属性的完整列表如下:

  • padding
  • paddingStart
  • paddingEnd
  • paddingTop
  • paddingRight
  • paddingBottom
  • paddingLeft
  • paddingVertical
  • paddingHorizontal

这些属性的名称都是自行解释的。

paddingVertical 是用来设置视图上下两边的paddings的(就像应用paddingToppaddingBottom ,数值是一样的)

paddingHorizontal 是用来设置视图的左右两侧的。

paddingStartpaddingEnd 属性的工作方式与paddingLeftpaddingRight 属性类似,但它们能意识到你的布局中使用的字母方向

这意味着当你使用从右到左(RTL)的区域设置时,paddingStart 会影响视图的右侧而不是左侧。

对于边距属性也是如此:

  • layout_margin
  • layout_marginStart
  • layout_marginEnd
  • layout_marginTop
  • layout_marginRight
  • layout_marginBottom
  • layout_marginLeft
  • layout_marginVertical
  • layout_marginHorizontal

现在你已经了解了Android XML布局中边距和间距的区别。干得好!👍