五大布局

2016-12-23  本文已影响0人  凌云秣

综述:

布局可以理解为一个容器

安卓中的五大布局

编号

布局名

英文名

概述

1

线性布局

LinearLayout

以水平或垂直方式展开显示

2

相对布局

RelativeLayout

按照各子元素之间的位置关系完成布局

3

幀布局

FrameLayout

一层一层布局

4

表格布局

TableLayout

以表格的形式进行布局

5

绝对布局

AbsoluteLayout

因为不方便做屏幕适配,已经被废弃了

线性布局:

描述:

分为水平线性布局或垂直线性布局,按照垂直或者水平的顺序依次排列子元素,每一个子元素都位于前一个元素之后。如果是垂直排列,那么将是一个N行单列的结构,每一行只会有一个元素,而不论这个元素的宽度为多少;如果是水平排列,那么将是一个单行N列的结构。如果搭建两行两列的结构,通常的方式是先垂直排列两个元素,每一个元素里再包含一个LinearLayout进行水平排列。

特殊属性:

android:orientation:线性布局方向。vertical:垂直;horizontal:水平。

android:layout_weight:权重,默认值为0(指定多大空间就占据多大的空间),当他的值>0时,将父视图中的可用空间进行分割, 值越大权重就越大, 占据的比例就会越大。

相对布局:

描述:

按照各子元素之间的位置关系完成布局。是Android五大布局结构中最灵活的一种布局结构,比较适合一些复杂界面的布局。

由于互相邮箱,改动一个view,就会打乱整个排版,牵一发而动全身。

注意在指定位置关系时,引用的ID必须在引用之前,先被定义,否则将出现异常。

特殊属性:

同方向对齐属性:

android:layout_alignLeft

android:layout_alignRight

android:layout_alignTop

android:layout_alignBottom

反方向对齐属性:

android:layout_toLeftOf

android:layout_toRightOf

android:layout_above

android:layout_below

相对父视同方向对齐属性

android:layout_alignParentLeft

android:layout_alignParentRight

android:layout_alignParentTop

android:layout_alignParentBottom

相对父视图居中属性:

android:layout_centerInParent

android:layout_centerHorizontal

android:layout_centerVertical

布局:

描述:

帧布局中的每一个子View都代表一个画面,默认以屏幕左上角作为( 0,0 )坐标,按定义的先后顺序依次逐屏显示 , 后面出现的会覆盖前面的画面。

通过子View的android:layout_gravity 属性来指定子视图的位置

表格布局:

描述:

适用于多行多列的布局格式,每个TableLayout是由多个TableRow组成,一个TableRow就表示TableLayout中的每一行,这一行可以由多个子元素组成。

实际上TableLayout和TableRow都是LineLayout线性布局的子类。但是TableRow的参数android:orientation属性值固定为horizontal

特殊子标签:

:就表示TableLayout中的一行

绝对布局:

描述:

在此布局中的子元素的android:layout_x和android:layout_y属性将生效,用于描述该子元素的坐标位置。屏幕左上角为坐标原点(0,0),第一个0代表横坐标,向右移动此值增大,第二个0代表纵坐标,向下移动,此值增大。在此布局中的子元素可以相互重叠。在实际开发中,通常不采用此布局格式,因为它的界面代码过于刚性,以至于有可能不能很好的适配各种终端。

特殊属性:

android:layout_x:子view左上角横坐标

android:layout_y:子view左上角纵坐标

上一篇下一篇

猜你喜欢

热点阅读