1.线性布局 LinearLayout 
常用属性: 
android:gravity 设置子控件的对齐方式 
android:orientation 排列方式 (分为水平排列和垂直排列) 
android:layout_gravity 设置相对于父控件的对齐方式 
android:layout_weight 子控件在布局中所占的权重
!LinearLayout不会换行,所以,如果子控件超出屏幕范围,将不会显示。
2.表格布局 TableLayout 
继承自LinearLayout,所以,它的本质依然是线性布局。 
表格布局并不会明确声明其包含了多少行、多少列,而是通过添加TableRow、其他组件来控制行和列。 
设置一个TableRow,即相当于添加了一个表格行。在其中添加子控件,即相当于添加一列。
三种行为方式: 
android:collapseColumns 需要被隐藏的列序号 
android:shrinkColumns 允许被收缩的列的列序号 
android:strechColumns 允许被拉伸的列的列序号
3.帧布局 FrameLayout 
为每一个加入其中的组件创建一个空白区域,先创建的组件会置于底层(和栈结构类似)
属性: 
可以使用layout_gravity来设置相对于父布局的对齐方式‘
示例:霓虹灯效果
4.相对布局 RelativeLayout 
gravity 子组件的对齐方式 
centerHorizontal 水平居中 
centerVertical      垂直居中 
centerInParent     处于父容器的中间位置 
alignParentBottom 是否与布局容器底端对齐 
alignParentLeft  是否与布局容器左端对齐 
alignParentRight  是否与布局容器右端对齐 
alignParentTop  是否与布局容器顶端对齐 
toRightOf           位于指定ID组件的右端 
toLeftOf              位于指定ID组件的左端 
above                  位于指定ID组件的上方 
below                  位于指定ID组件的下方 
alignTop             与指定ID组件的上边界对齐 
alignBottom       与指定ID组件的下边界对齐 
alignLeft             与指定ID组件的左边界对齐 
alignRight          与指定ID组件的右边界对齐
5.网格布局 GridLayout 
Android4.0之后新增的布局。
属性: 
alignmentMode 对齐模式 
columnCount 列数 
rowCount       行数
子组件的属性 
layout_column 设置该子组件在第几列 
layout_columnSpan  设置该子组件横向跨几列 
layout_row        设置该子组件在第几行 
layout_rowSpan  设置该子组件纵向跨几行 
layout_gravity     设置子组件的对齐方式
代码动态设置行和列: 
1.设置新增组件所在的行 
GridLayout.Spec rowSpec = GridLayout.spec(int); 
2.设置新增组件所在的列 
GridLayout.Spec columnSpec = GridLayout.spec(int); 
3.把行和列加载到GridLayout 
GridLayout.LayoutParams params = new GridLayout.LayoutParams(rowSpec,columnSpec); 
4.指定该组件占满父容器 
params.setGravity(Gravity,fill); 
5.把组件加载到布局中 
gridlayout.addView(view,params);
示例:计算器UI布局
6.绝对布局 AbsoluteLayout 
手机屏幕的分辨率千差万别,使用绝对布局很难兼顾不同的屏幕大小。所以,AbsoluteLayout已经过时。
版权声明:刚出锅的原创内容,希望对你有帮助~
原文地址:http://blog.csdn.net/liangyu2014/article/details/47684359