总结一下Android六大布局的以及常用的属性
Android六大布局:
LinearLayout 线性布局
RelativeLayout 相对布局
TableLayout 表格布局
GridLayout 网格
FrameLayout 帧布局
AbsoluteLayout绝对布局
- 线性布局(LinearLayout)
线性布局是Android布局中比较常用的布局方式, 线性布局主要分为垂直线性布局和水平线性布局。通过< LinearLayout >标签中的 orientation属性设置垂直(vertical)或水平 (horizontal)
- 相对布局(RelativeLayout )
相对布局是以它包含的子控件之间的相对位置或者子类控件相对父容器的位置的方式排列
常用属性:
android:layout_above 位于给定id控件之上
android:layout_below 位于给定id控件之下
android:layout_toLeftOf 位于给定控件左边
android:layout_toRightOf 位于给定控件右边
android:layout_alignLeft 左边与给定id控件的左边对齐
android:layout_alignRight 右边与给定id控件的右边对齐
android:layout_alignTop 上边与给定id控件的上边对齐
android:layout_alignBottom 底边与给定id控件的底边对齐
android:layout_alignBaseline 对齐到控件基准线
相对父容器,用true或false来调整
android:layout_alignParentLeft 相对于父靠左
android:layout_alignParentTop 相对于父靠上
android:layout_alignParentRight 相对于父靠右
android:layout_alignParentBottom 相对于父靠下
android:layout_centerInParent=”true” 相对于父即垂直又水平居中
android:layout_centerHorizontal=”true” 相对于父即水平居中
android:layout_centerVertical=”true” 相对于父即处置居中
相对于父容器位置,用数值来调整位置
android:layout_margin=””
android:layout_marginLeft=””
android:layout_marginRight=””
android:layout_marginTop=””
android:layout_marginBottom=””
Android 4.2新增的属性:
android:layout_alignStart 将控件对齐给定id控件的头部
android:layout_alignEnd 将控件对齐给定id控件的尾部
android:layout_alignParentStart 将控件对齐到父控件的头部
android:layout_alignParentEnd 将控件对齐到父控件的尾部
3. 表格布局(TableLayout )
表格布局模型以行列的形式管理子控件,每一行为一个TableRow的对象。
如果把控件直接放入则控件会充满一行, 如果想一行有多个控件的话就吧控件添加到
< Tablerow>< /TableRow>中管理
android:layout_column = “1” 表示该控件显示在第2列
android:layout_span = “2” 表示该控件占据2列
android:stretchColumns 使某一列的按钮填充
android:layout_columns让此按钮本行的某一列显示
4. 网格布局(GridLayout )
该布局是Android 4.0 后新增的一个布局,以网格的形式布局窗口控件
网格布局和其他布局不同,可以不为组件设置Layout_width和Layout_height属性
因为组件的宽高由几行几列决定了,当然,你也可以写个wrap_content
常用属性:
排列对齐:
(1)设置组件的排列方式: android:orientation=”” vertical(竖直,默认)或者horizontal(水平)
(2)设置组件的对齐方式: android:layout_gravity=”” center,left,right,buttom啊,这些,如果想同时用两种的话:eg: buttom|left
设置布局为几行几列:
(1)设置有多少行:android:rowCount=”4” //设置网格布局有4行
(2)设置有多少列:android:columnCount=”4” //设置网格布局有4列
设置某个组件位于几行几列
注:都是从0开始算的哦!
(1)组件在第几行:android:layout_row = “1” //设置组件位于第二行
(2)组件在第几列:android:layout_column = “2” //设置该组件位于第三列
设置某个组件横跨几行几列:
(1)横跨几行:android:layout_rowSpan = “2” //纵向横跨2行
(2)横跨几列:android:layout_columnSpan = “3” //横向横跨2列
5. 帧布局(FrameLayout)
所有控件不能指定位置, 因为所有的控件都显示在一个地方, 一层叠加一层, 网页版的刮刮乐就是利用帧布局实现的
两个属性:
android:foreground:*设置改帧布局容器的前景图像
android:foregroundGravity:设置前景图像显示的位置
6. 绝对布局(AbsoluteLayout)
理论上该布局可以实现任何样式的排列, 但是由于手机屏幕尺寸差别较大,在屏幕
android:layout_x = “” 控制当前子类控件的x位置
android:layout_y = “” 控制当前子类控件的y位置