android布局

来源:互联网 发布:王者荣耀挂机软件 编辑:程序博客网 时间:2024/06/16 14:37

一、线性布局LineraLayout

X线性布局有点像Swing编程里的Box,他们都会将容器里的组件一个挨一个地排列起来。LinearLayout可以控制各组件横向排列,也可以控制各组件纵向排列,android线性布局不会换行,当组件一个挨着一个的地排列到头之后,剩下的组件将不会被显示出来

LinearLauout常用属性

android:baselineAligned="true"-----该属性设置为false时,将会阻止该布局与它的子元素的基线对其

android:divider-----设置垂直布局时两个按钮之间的间隔条

android:gravity-----设置布局管理器内组件的对齐方式(该属性支持top、buttom、left、center_vartical等也可以同时指定多种对齐方式的组合如:left|center_vartical)

android:measuerWithLargestChild-----当该属性设为true时,所有带权重的子元素都会具有最大子元素的最小尺寸

android:orientation-----设置布局管理器内组件的排列方式,可以设置为horizontal(水平排列)、vertaical(垂直排列,默认值)

二、表格布局TableLayout

TableLayout继承了LeneraLayout,因此它的本质依然是线性布局管理器。表格布局采用行、列的形式来管理UI组件,TableLayout并不需要明确地声明包含多少行多少列,而是通过添加TableRow、其他控件来控制表格的行数和列数

每次向TableLayout中添加一个TableRow,该TableRow就是一个表格行,TableRow也是容器,因此它也可以不断地添加其他组件,每添加一个子组件该表格就增加一列

如果直接向TableLayout中添加组件,那么这个组件将直接占用一行。

在表格布局中,列的宽度由该列中最宽的那个单元格决定,整个表格的宽度取决于父容器的宽度(默认总是占满父容器本身)

在表格布局中,可以为单元格设置如下三种行为方式

>Shrinkable:如果某个列被设为Shrinkable,那么该列的所有单元格的宽度可以被收缩,以保证该表格能适应父容器的宽度

android:shrinkColumns="1,2"-----设置需要被收缩的列的列序号,多个列号之间用逗号隔开

>Stretchable:如果某个列被设为Stretchable,那么该列的多有单元格的卡un度可以被拉伸,以保证组件能完全填满表格空余空间

android:stretchColumns="1,2"-----设置需要被隐藏的列的列序号,多个列号之间用逗号隔开

>Colapsed:如果某个列被设为Collapsed,那么该列的所有单元格会被隐藏

android:collapseColumns="1,2"-----设置需要被隐藏的列的列序号,多个列号之间用逗号隔开

三、帧布局FrameLayout

帧布局容器为每个加入其中的组件创建一个空白的区域(成为一帧),每个子组件占据一帧,这些帧都会根据gravity属性执行自动对齐

FrameLayout的常用属性

android:foreground-----设置该帧布局容器的前景图片

android:foregroundGravity-----定义绘制前景图像的gravity属性

FarmeLayout所包含的子元素也可指定android:layout_gravity属性

四、相对布局RelativeLayout

相对布局容器没子组件的位置总是相对兄弟组件、父容器来决定的

RelativeLayout属性

android:gravity-----设置该布局容器内各子组件的对齐方式

android:ignoreGravity-----设置哪个组件不受gravity属性的影响


android:layout_centerHorizontal-----控制该子组件是否位于布局容器的水平居中

android:layout_centerVertical-----控制该子组件是否位于布局容器的垂直居中

android:layout_centerInParent -----控制该子组件是否位于布局容器的中央位置

android:layout_alignParentBotton-----控制该子组件是否位于布局容器底端对齐

android:layout_alignParentLeft-----控制该子组件是否位于布局容器左边对齐

android:layout_alignParentRight -----控制该子组件是否位于布局容器右边对齐

android:layout_alignParentTop -----控制该子组件是否位于布局容器顶端对齐


android:layout_toRightOf------控制该子组件位于给出ID组件的右侧

(toLeftOf左侧、above上方、below下方、alignTop上边界对齐、alignBottom下边界对齐、alignLeft左边界对齐、alignRight右边界对齐)

五、绝对布局AbsoluteLayout

绝对布局通过x坐标、y坐标来控制组件的位置。当使用AbsoluteLayout作为布局容器时,布局容器不再管理子组件的位置、大小。

android:layout_x-----指定该子组件的x坐标

android:layout_y-----指定该子组件的y坐标

android:layout_centerHorizontal-----控制该子组件是否位于布局容器的水平居中
0 0
原创粉丝点击