Android的界面是由布局和组件构成的,布局就是一个框架,而组件按照布局的要求进行排列,形成用户使用的界面。Android有五大布局和四大组件,这五布局分别是LinearLayout线性布局、FrameLayout单帧布局,也有中文翻译为帧布局、框架布局、RelativeLayout相对布局、AbsoluteLayout绝对布局和TableLayout表格布局。
一、LinearLayout
线性布局是Android开发中最常见的布局方式,它可以“android:orientation”属性设置线性布局方向是垂直还是水平。线性布局的排列在某行或者某列并不会自动换行或换列。常用的属性:
1.android:orientation:可以设置布局的方向
2.android:id -为控件指定相应的ID
3.android:text -指定控件当中显示的文字,需要注意的是,这里尽量使用string.xml
4.android:gravity -指定控件的基本位置,比如说居中,居右等位置
5.android:textSize -指定控件当中字体的大小
6.android:background -指定控件所用的背景色,RGB命名法
7.android:layout_width -指定控件的宽度
8.android:layout_height -指定控件的高度
9.android:layout_weight -指定控件的占用比例
10.android:padding -指定控件的内边距,也就是说控件当中的内容
11.android:sigleLine -如果设置为真的话,则将控件的内容显示在一行当中
二、FrameLayout
单帧布局是布局中最简单的一个布局,在这个布局中,整个界面被当成一块空白备用区域,所有的子元素都不能被指定放置的位置,它们统统放于这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡。
三、RelativeLayout
相对布局除线性布局之外最常用的,它相对于线性布局来说比较灵活,在进行组件布局的时候用线性布局往往需要进行布局嵌套,而相对布局就不会那么麻烦,每个组件都可以指定与其它组件或父组件的位置,只是必须通过ID来进行指定。
常用属性:
1.android:layout_above="@id/xxx"将控件置于给定ID控件之上
2.android:layout_below="@id/xxx"将控件置于给定ID控件之下
3. android:layout_toLeftOf="@id/xxx"将控件的右边缘和给定ID控件的左边缘对齐
4.android:layout_toRightOf="@id/xxx"将控件的左边缘和给定ID控件的右边缘对齐
5.android:layout_alignLeft="@id/xxx"将控件的左边缘和给定ID控件的左边缘对齐
6.android:layout_alignTop="@id/xxx"--将控件的上边缘和给定ID控件的上边缘对齐
7.android:layout_alignRight="@id/xxx"--将控件的右边缘和给定ID控件的右边缘对齐
8.android:layout_alignBottom="@id/xxx"--将控件的底边缘和给定ID控件的底边缘对齐
9.android:layout_alignParentLeft="true"--将控件的左边缘和父控件的左边缘对齐
10.android:layout_alignParentTop="true"--将控件的上边缘和父控件的上边缘对齐
11.android:layout_alignParentRight="true"--将控件的右边缘和父控件的右边缘对齐
12.android:layout_alignParentBottom="true"
--将控件的底边缘和父控件的底边缘对齐
13.android:layout_centerInParent="true"--将控件置于父控件的中心位置
14.android:layout_centerHorizontal="true"--将控件置于水平方向的中心位置
15.android:layout_centerVertical="true"--将控件置于垂直方向的中心位置
android:layout_width设置组件的宽度
android:layout_height设置组件的高度
android:id给组件定义一个id值,供后期使用
android:background设置组件的背景颜色或背景图片
android:text设置组件的显示文字
android:textColor设置组件的显示文字的颜色
android:layout_below组件在参考组件的下面
android:alignTop同指定组件的顶平行
android:visibility="visible"控件的可见度:(3种状态)
android:background="#F00"控件的背景:(颜色图片)
android:maxLength="6"限制输入字数
四、AbsoluteLayout
绝对布局用法如其名,组件的位置可以准确的指定其在屏幕的x/y坐标位置。虽然可以精确的去规定坐标,但是由于代码的书写过于刚硬,使得在不同的设备,不同分辨率的手机移动设备上不能很好的显示应有的效果,所以此布局不怎么被推荐使用。在此布局中的子元素的android:layout_x和android:layout_y属性将生效,用于描述该子元素的坐标位置。通常不采用此布局。
五、TableLayout
表格布局适用于N行N列的布局格式。一个TableLayout由许多TableRow组成,一个TableRow就代表TableLayout中的一行。