A Layout where the positions of the children can be described in relation to each other or to the parent.
以上是Google对于RelativeLayout的描述,RelativeLayout也叫相对布局,顾名思义,它里面的子布局可以根据其他的子布局的位置或者直接根据父布局来相对的放置,是平时使用次数很高的父控件,
RelativeLayout的属性
1. 相对于其他子控件
* android:layout_below:在指定的其他子控件的下方
* android:layout_above:在指定的其他子控件的上方
* android:layout_toLeftOf:在指定的其他子控件的左边
* android:layout_toStartOf:在指定的其他子控件的左边
* android:layout_toRightOf:在指定的其他子控件的右边
* android:layout_toEndOf:在指定的其他子控件的右边
* android:layout_alignTop:与指定的其他子控件的上边界对齐
* android:layout_alignBottom:与指定的其他子控件下边界对齐
* android:layout_alignLeft:与指定的其他子控件的左边界对齐
* android:layout_alignStart:与指定的其他子控件的左边界对齐
* android:layout_alignRight:与指定的其他子控件的右边界对齐
* android:layout_alignEnd:与指定的其他子控件的右边界对齐
* android:layout_alignBaseline: 与置顶的其他子控件的基准线对齐
2. 相对于父控件
* android:layout_alignParentLeft:是否在父控件左边
* android:layout_alignParentStart:是否在父控件左边
* android:layout_alignParentRight:是否在父控件右边
* android:layout_alignParentEnd:是否在父控件右边
* android:layout_alignParentTop:是否在父控件顶部
* android:layout_alignParentBottom:是否在父控件底部
* android:layout_centerInParent:是否在父控件居中布局
* android:layout_centerVertical:是否在父控件水平居中布局
* android:layout_centerHorizontal:是否在父控件垂直居中布局
3. 视情况而定
* android:layout_alignWithParentIfMissing: 如果指定的子控件不存在的是否是否根据父控件对齐
以上是一些常用的RelativeLayout内使用的控件之间的对齐布局属性,像宽高和padding,margin这种基础属性就没有列举出来,细心的会发现相对于left和right的属性西面都会跟一个start和end,start和end是spi17之后推出的,如果项目的目标版本大于api17,Android Studio会推荐使用start和end来代替left和right的。
RelativeLayou它整体来讲很是很简单的,没有什么复杂难懂的属性,多使用几次,都能够熟练的掌握。