A06_RelativeLayout的属性设置

设有两个控件one和two,以控件one为基准。由于代码比较简单就不贴了,直接上效果图。

一、第一组:将控件two放在控件one的上、下、左、右、开始、结束。

android:layout_below=""
android:layout_above=""
android:layout_toLeftOf=""
android:layout_toRightOf=""
android:layout_toStartOf="" 开始
android:layout_toEndOf="" 结束

由于one控件的位置固定不做变动,two控件在它上方和左边的位置就无法显示出来,效果是只有one控件,不再演示。

图一:android:layout_above

A06_RelativeLayout的属性设置

图二:android:layout_toRightOf

A06_RelativeLayout的属性设置

图三:android:layout_toEndOf(可以看出效果和layout_toRightOf一样,类似layout_toStartOf和layout_toLeftOf效果一样)

A06_RelativeLayout的属性设置

二、第二组:align是“对齐”的意思。将控件two和控件one的上边、下边、左边、右边对齐。

android:layout_alignLeft=""左边对齐
android:layout_alignRight="" 右边对齐
android:layout_alignTop="" 上边对齐
android:layout_alignBottom="" 下边对齐

图一:android:layout_alignLeft

A06_RelativeLayout的属性设置

图二:android:layout_alignBottom(底边对齐)

A06_RelativeLayout的属性设置
三、第三组 :将控件two和父控件(认为布局也是控件)的顶部、底部、左边、右边对齐。将控件two和控件one的基线对齐

android:layout_alignParentLeft=""和父控件的左边对齐

android:layout_alignParentRight="" 和父控件的右边对齐
android:layout_alignParentTop="" 和父控件的顶部对齐
android:layout_alignParentBottom="" 和父控件的底部对齐

android:layout_alignBaseline="" 控件two和控件one的基线对齐



图一:android:layout_alignParentLeft:

A06_RelativeLayout的属性设置

图二:android:layout_alignParentBottom

A06_RelativeLayout的属性设置

图三:android:layout_alignBaseline:图中绿色的水平线就是基线,为了更清楚的显示基线,对Two控件还添加了android:layout_toRightOf属性。

A06_RelativeLayout的属性设置


基线解释:书写英语单词时为了规范书写会设有四条线,从上至下第三条就是基线。基线对齐主要是为了两个控件中显示的英文单词的基线对齐。

A06_RelativeLayout的属性设置
四、第四组:中心对齐。值为true/false
android:layout_centerInParent="" 父控件中心对齐
android:layout_centerHorizontal="" 水平中兴对齐
android:layout_centerVertical="" 垂直中兴对齐


图一:android:layout_centerInParent:

A06_RelativeLayout的属性设置

图二:android:layout_centerHorizontal

A06_RelativeLayout的属性设置

图三:android:layout_centerVertical:

A06_RelativeLayout的属性设置
五、第五组:android4.2新增属性。控件one和控件two开始对齐、结束对齐。控件one和父控件开始对齐、结束对齐。
android:layout_alignStart="" 两个控件开始对齐
android:layout_alignEnd="" 两个控件结束对齐
android:layout_alignParentStart="" 子控件和父控件开始对齐
android:layout_alignParentEnd="" 子控件和父控件结束对齐

为了便于显示效果,在显示layout_alignStart和layout_alignEnd属性时,为Two控件添加了layout_above属性

图一:android:layout_alignStart:

A06_RelativeLayout的属性设置

图二:android:layout_alignEnd:

A06_RelativeLayout的属性设置

图三:android:layout_alignParentStart:

A06_RelativeLayout的属性设置

图四:android:layout_alignParentEnd

A06_RelativeLayout的属性设置