第23讲 UI_布局 之相对布局
第23讲 UI_布局 之相对布局
2、RelativeLayout(相对布局):
RelativeLayout(相对布局)是指组件的位置总是相对兄弟组件、父容器来决定的(相对位置),如某个组件的左边右边,上边下边。相对布局是除线性布局之外最常用的,它相对于线性布局来说更加灵活,每个组件都可以指定与其它组件或父组件的位置,只是必须通过ID来进行指定。相对布局的子控件必须有唯一的id属性以使规则正确应用。
【注意】:
1.当心循环规则,循环规则发生在两个控件具有互相指向的规则时。如果你在布局设计中使用了循环规则,你将会得到以下错误信息:
IllegalStateException: Circulardependencies cannot exist in a RelativeLayout(相对布局中不允许存在循环依赖)
2.使用相对布局代替嵌套线性布局以改进程序性能和响应能力。
表1-1 组件之间的位置关系 |
|
属性名称 |
作用 |
android:layout_above |
将组件放在指定ID组件的上方 |
android:layout_below |
将组件放在指定ID组件的下方 android:layout_below="@id/button1" |
android:layout_toLeftOf |
将组件放在指定ID组件的左方 |
android:layout_toRightOf |
将组件放在指定ID组件的右方 |
表1-2 组件对齐方式 |
|
属性名称 |
作用 |
android:layout_alignBaseline |
将该组件放在指定ID组件进行中心线对齐 |
android:layout_alignTop |
将该组件放在指定ID组件进行顶部对齐 |
android:layout_alignBottom |
将该组件放在指定ID组件进行底部对齐 |
android:layout_alignLeft |
将该组件放在指定ID组件进行左边缘对齐 |
android:layout_alignRight |
将该组件放在指定ID组件进行右边缘对齐, android:layout_alignRight="@id/button2" |
表1-3 当前组件与父组件的对齐方式 |
|
属性名称 |
作用 |
android:layout_alignParentTop |
该组件与父组件进行顶部对齐 |
android:layout_alignParentBottom |
该组件与父组件进行底部对齐 |
android:layout_alignParentLeft |
该组件与父组件进行左边缘对齐 |
android:layout_alignParentRight |
该组件与父组件进行右边缘对齐, android:layout_alignParentRight="true" |
android:layout_alignWithParentIfMissing |
参照控件不存在或不可见时参照父控件 |
表1-4 组件放置的位置 |
|
属性名称 |
属性名称 |
android:layout_centerHorizontal |
将该组件放置在水平方向中央的位置 android:layout_centerHorizontal="true" |
android:layout_centerVertical |
将该组件放置在垂直方向的中央的位置 |
android:layout_centerInParent |
将该组件放置在父组件的水平中央及垂直中央的位置 |
表 1-5 |
|
android:layout_marginLeft |
当前控件左侧的留白 |
android:layout_marginRight |
当前控件右侧的留白 |
android:layout_marginTop |
当前控件上方的留白 |
android:layout_marginBottom |
当前控件下方的留白 |