相对布局有RelativeLayout代表,相对布局容器内子组件的位置总是相对兄弟组件,父容器来决定的,因此这种布局方式被称为相对布局。
如果A组件的位置是由B组件的位置来决定的,Android要求先定义B组件,再定义A组件。
xml属性 | 相关方法 | 说明 |
android:gravity | setGravity(int) | 设置该布局容器内各子组件的对齐方式 |
android:ignoreGravity | setIgnoreGravity | 设置哪个组件不受gravity属性的影响 |
为了控制该布局容器中各子组件的布局分布,RelativeLayout提供了一个内部类:RelativeLayout.LayoutParams,该类提供了大量的xml属性来控制RelativeLayout布局容器中子组件的布局分布。
xml属性 | 说明 |
android:layout_centerHorizontal | 控制该子组件是否位于布局容器的水平居中 |
android:layout_centerVertical | 控制该子组件是否位于布局容器的垂直居中 |
android:layout_centerInParent | 控制该子组件是否位于布局容器的中央位置 |
android:layout_alignParentBottom | 控制该子组件是否与布局容器底端对齐 |
android:layout_alignParentLeft | 控制该子组件是否与布局容器左边对齐 |
android:layout_alignParentRight | 控制该子组件是否与布局容器右边对齐 |
android:layout_alignParentTop | 控制该子组件是否与布局容器顶端对齐 |
xml属性 | 说明 |
android:layout_toRIghtOf | 控制该子组件位于给出ID组件的右侧 |
android:layout_toLeftOf | 控制该子组件位于给出ID组件的左侧 |
android:layout_above | 控制该子组件位于给出ID组件的上方 |
android:layout_below | 控制该子组件位于给出ID组件的下方 |
android:layout_alignTop | 控制该子组件与给出的ID组件的上边界对齐 |
android:layout_alignBottom | 控制该子组件与给出的ID组件的下边界对齐 |
android:layout_alignLeft | 控制该子组件与给出的ID组件的左边界对齐 |
android:layout_alignRight | 控制该子组件与给出的ID组件的右边界对齐 |
除此之外,RelativeLayout.layoutParams还继承了android.view.ViewGroup.MarginLayout Params,因此RelativeLayout布局容器中每个子组件也可指定android.view.ViewGroup.MarginLayoutParams所支持的各xml属性。