您的位置:首页 > 移动开发 > Android开发

android五大布局

2016-02-21 11:03 369 查看
1.LinearLayout 线性布局
线性,顾名思义就是像线一样一个挨着一个排列的。我们可以控制其包裹的组件是横向还是纵向排列,
线性布局是不会自动换行的,如果组件超出了屏幕那就不会被显示出来。
一些基本属性
android:orientation 设置布局内组件排列方式,可选择horizontal水平排列和vertical垂直排列
android:gravity 设置布局内组件对齐方式,可设置为left,right,top,bottom,center等等,也可同时设置
多个值,用|分隔,比如top|right
android:visibility 设置该布局是否可见,visible表示可见,invisible表示隐藏但占有位置,
gone表示隐藏且不占用位置,这个属性每个布局都有
LinearLayout内的组件也有一些特殊的属性:
android:layout_gravity:这和上面gravity的要区分开,这是LinearLayout子元素的属性,用于指定该组件
在这个LinearLayout中的位置
android:layout_weight:权重,类似与按比例布置,例如在一个LinearLayout中有两个按钮并横向排列,我们
将按钮的layout_width设为0,layout_weight都设为1,那么这两个按钮就是横向等分屏幕,各占一半空间。如果
一个没有设置这个属性另一个设为1,则有权重的按钮将占用除了第一个按钮以外的全部空间。如果权重非别
设为2和3,那么就是一个按钮占2/5的空间,另一个占3/5的空间。

2.RelativeLayout 相对布局(推荐)
官方比较推荐相对布局,这种布局的组件要以A相对与B在什么位置的形式去排列
子元素属性(boolean值)
android:layout_centerInParent 控制组件位于布局的中间
android:layout_centerHorizontal 横向居中
android:layout_centerVertical 纵向居中
android:layout_alignParentTop(Bottom,Left,Right) 组件与布局上(下,左,右)端对齐
还有一些子元素属性需要值为android:id
android:layout_toRight(Left)Of 该组件位于给定id组件的右(左)侧
android:layout_above 该组件位于给定id组件的上方
android:layout_below 该组件位于给定id组件的下方
android:layout_alignTop(Bottom,Left,Right) 该组件与给定id组件上(下,左,右)边界对齐

3.FrameLayout 帧布局
帧布局的特殊之处在于它的子元素组件将呈现为一种叠加在一起的方式,就像从金字塔顶端俯视图一样,
最先定义的组件在最底层,没写一个组件都会像去覆盖一样放在上一个组件的上方

4.TableLayout 表格布局
很少用到的布局,它属于LinearLayout的一种特殊形式,就像正方形是特殊的矩形一样。
android:collapseColumns="2,3" 设置被隐藏的列的序号
android:shrinkColumns="1,2" 设置允许被收缩的列的序号
android:stretchColumns="6" 设置允许被拉伸的列的序号

5.AbsoluteLayout 绝对布局
这个也很少用,绝对布局要求我们自己用xy坐标来确定组件位置,由于手机要考虑适配的问题,这个布局
一般不会去用
layout_x,layout_y定义坐标

6.GridLayout 网格布局(4.0新增)
网格布局什么样,看看计算器就知道了
android:rowCount 设置行的数量
android:columnCount 设置列的数量
android:alignmentMode 设置对齐模式
其子元素组件的一些属性
android:layout_column 设置该组件在GridLayout的第几列
android:layout_row 设置该组件在GridLayout的第几行
android:layout_rowSpan 设置该组件在GridLayout横跨几列
android:layout_columnSpan 设置该组件在GridLayout竖跨几行
android:layout_gravity 组件占据空间位置
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 布局