所有的问题,我都希望能从书本中找到理论的支撑。我的学习方法,爱读书!
学习完视频后,我们还可以再参考《疯狂Android讲义(第二版)》 2.2.4 相对布局。事半功倍!
23.1相对布局 RelativeLayout
- 相对布局是指按照组件之间的相对位置来布局,如在某个组件的左边,右边,上面和下面等。例如,android:layout_below 属性指定在某个组件的下面;
- 相对布局是用于使得程序屏幕更加灵活和强大的布局类型。相对布局允许子控件相对于其他子控件和相对于父控件来组织。一旦你掌握了如何使用相对布局的规则,它们可以有非常多的用处,使你能够促进复杂布局而不要过多嵌套不同的布局,因此也改进了性能。
23.2按照组件相对位置的布局
android:layout_below 在某元素的下方
android:layout_above 在某元素的上方
android:layout_toLeftOf 在某元素的左方
android:layout_toRightOf 在某元素的右方
23.3按照边距的布局
android:layout_marginBottom 离某元素底边缘的距离
android:layout_marginLeft 离某元素左边缘的距离
android:layout_marginRight 离某元素右边缘的距离
android:layout_marginTop 离某元素上边缘的距离
23.4对齐方式的指定
以下5个属性,设置的是控件与控件之间对齐的方式
android:layout_alignBaseLine
android:layout_alignTop
android:layout_alignBottom
android:layout_alignLeft
android:layout_alignRight
以下4个属性设置控件与父控件之间对齐的方式
android:alignParentTop
android:alignParentBottom
android:alignParentLeft
android:alignParentRight
以下4个属性设置控件的方向
android:layout_centerHorizontal
android:layout_centerVertical
android:layout_centerInParent //《疯狂》中,梅花布局效果
23.5 提示:
1。当心循环规则。循环规则发生在两个控件具有互相指向的规则时。如果你在布局设计中使用了循环规则,你将会得到以下错误信息:
IllegalStateException:Circular dependencies cannot exist in a RelativeLayout(相对布局中不允许存在循环依赖)
2。使用相对布局代替嵌套线性布局以改进程序性能和响应能力。