在android中我们常用的布局方式有这么几种:LinearLayout (线性布局),RelativeLayout (相对布局),TableLayout (表格布局),AbsoluteLayout (绝对布局),FrameLayout (帧布局)。不过我发现一般把framelayout做容器,不当布局来看待,因为没法单独完成一个布局。从代码数量来看绝对布局应该是一个比较好的选择,对于我们初学者来说,但是绝对布局在现在这个年代已经不够用了,因为屏幕尺寸实在太多样化了。不管是用什么布局,宽度与高度这两个属性一定要弄清楚,刚学时总是发现有些控件没显示在界面上,有时候又在整个屏幕都有。在现在,线性布局和相对布局应用比较广泛,线性布局是按照水平或垂直的顺序将子元素(可以是控件或布局)依次按照顺序排列,每一个元素都位于前面一个元素之后,即控件在xml中所写的先后循序就是显示时控件的顺序,不过不灵活,不能指定任意的位置。相对布局属于比较灵活的,但是要学好它需要先了解一些属性。
我具体的学习了一下相对布局,总结了一下各种属性
子类控件相对于父类容器的位置:
android:layout_alignParentLeft="true" 子类控件相对当前父类容器靠左边
android:layout_alignParentTop="true" 子类控件相对当前父类容器靠上边
android:layout_marginLeft="41dp" 子类控件距离父类容器左边的距离
android:layout_marginTop="33dp" 子类控件距离父类容器上边的距离
android:layout_centerInParent="true" 子类控件相对于父类容器水平且垂直居中
android:layout_centerHorizontal="true" 子类控件相对于父类容器水平居中
android:layout_centerVertical="true" 子类控件相对于父类容器垂直居中
左边:android:layout_toLeftOf
右边:android:layout_toRightOf
上方:android:layout_above
下方:android:layout_below
对齐上边界:android:layout_alignTop
对齐下边界:android:layout_alignBottom
对齐左边界:android:layout_alignLeft
对齐右边界:android:layout_alignRight
左对齐:android:layout_alighParentLeft
右对齐:android:layout_alighParentRight
顶端对齐:android:layout_alighParentTop
底部对齐:android:layout_alighParentBottom
水平居中:android:layout_centerHorizontal
垂直居中:android:layout_centerVertical
中央位置:android:layout_centerInParent