安卓开发教程10:相对布局RelativeLayout

279 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第10天,点击查看活动详情

上一篇中我们介绍了Android六大布局中的第一个线性布局,线性布局也是我们经常需要用到的一种布局方式,我们经常用到它的weight,按照比例进行划分屏幕的时候,那么在对于一些需要多层嵌套的场景的时候,线性布局方式就显的有些不能应对,这时候就需要用到我们今天要介绍的这种布局方式,相对布局RelativeLayout。

相对布局的常用属性

相对布局分为两种,一种是相对于父组件,一种是相对于兄弟组件。

根据父组件定位

  1. centerVertial 相对于父组件垂直居中
  2. centerInParent 相对于父组件中央位置
  3. centerHorizontal 相对于父组件水平居中

根据兄弟组件定位

  1. layout_toLeftOf 相对于组件的左面
  2. layout_toRightOf 相对于件组件的右面
  3. layout_above 相对于组件的上面
  4. layout_below 相对于组件的下面

让我们写个android经典的梅花布局,来实际使用以下这些属性,以便于更好的理解这些属性真正的用法。

梅花布局

image.png

根据图片效果我们可以看的出来,这是由五个TextView组成,一个白色背景居中显示,四个黑色背景上下左右围绕它组成的布局结构。

  1. 首先创建一个RelativeLayout标签,在其中创建五个TextView。
  2. 其中一个给的id 为 text1,设置 layout_centerInParent 为 true,使其显示在中央位置。
  3. 剩余四个,给的背景为黑色,字体颜色为白色。
  4. 左右两侧设置layout_centerVertical 为 true 使其垂直居中。
  5. 上下两侧设置layout_Horizontal 为 true 使其水平居中。
  6. 左侧位置:设置layout_toLeftOf 为 @id/text1,使其位于 text1 的左边
  7. 右侧位置:设置layout_toRightOf 为 @id/text1,使其位于 text1 的右边
  8. 上侧位置:设置layout_above 为 @id/text1,使其位于 text1 的上边
  9. 下侧位置:设置layout_below 为 @id/text1,使其位于 text1 的下边

完成效果如下图: image.png

再有就是对于组件偏移属性margin和填充属性padding,那么这两块的内容在我看来与css中的margin和padding使用方法是一样的。这里罗列一下相关属性的名称与css中的做一下对比,具体使用方法就不做演示了。

margin

Androidcss说明
layout_ marginmargin组件上下左右的偏移量
layout_ marginLeftmargin-left组件左边的偏移量
layout_ marginRightmargin-right组件右边的偏移量
layout_ marginTopmargin-top组件上边的偏移量
layout_ marginBottommargin-bottom组件下边的偏移量

pdding

Androidcss说明
layout_ paddingpadding组件内部上下左右的填充距离
layout_ paddingLeftpadding-left组件内部左边填充距离
layout_ paddingRightpadding-right组件内部右边的填充距离
layout_ paddingToppadding-top组件内部上边的填充距离
layout_ paddingBottompadding-bottom组件内部下边的填充距离

对于相对布局RelativeLayout 的介绍就先到这里,其实最重要的是我们得对于RelativeLayout 和 LinearLayout 相互结合的搭配使用。