Android布局
表格布局(TableLayout)
表格布局的行数是由tablerow对象控制的
3个常用属性
Shrinkable:如果某个列被设为Shrinkable,那么该列的所有单元格的宽度可以被收缩,以保证该表格能适应父容器的宽度。
Stretchable:如果某个列被设为Stretchable,那么该列的所有单元格的宽度可以被拉伸,以保证组件能完全填满表格空余空间。
Collapsed:如果某个列被设为Collapsed,那么该列的所有单元格会被隐藏。
注意事项
1、如果我们直接往TableLayout中添加组件的话,那么这个组件将占满一行。
2、如果我们想一行上有多个组件的话,就要添加一个TableRow的容器,把组件都丢到里面。
3、tablerow中的组件个数就决定了该行有多少列,而列的宽度由该列中最宽的单元格决定
4、tablerow的layout_width属性,默认是fill_parent的,我们自己设置成其他的值也不会生效。但是layout_height默认是wrapten——content的,我们却可以自己设置大小。
5、整个表格布局的宽度取决于父容器的宽度(占满父容器本身)。
6、有多少行就要自己数啦,一个tablerow一行,一个单独的组件也一行!多少列则是看tableRow中 的组件个数,组件最多的就是TableLayout的列数。
网格布局(GridLayout)
GridLayout网格布局是4.0之后引入的布局方式
属性
android:columnCount=“4” //设置列数(4列)
android:rowCount=“6” //设置行数(6行)
android:orientation=“horizontal” //设置排列方式(默认竖直)
android:layout_gravity=“fill” //设置对齐方式
android:layout_columnSpan=“4” //横向横跨几列(4列)
android:layout_rowSpan=“4” //纵向横跨几行(4行)
android:layout_row=“2” //设置组件在第几行(第二行)
android:layout_column=“2” //设置组件在第几列(第二列)
帧布局(FrameLayout)
又叫层次布局
1.常用属性
android:foreground:*设置改帧布局容器的前景图像
android:foregroundGravity:设置前景图像显示的位置
绝对布局(AbsoluteLayout)
由于手机屏幕尺寸差别比较大,使用绝对定位的适应性会比较差,在屏幕的适配上有缺陷
1.常用属性
android:layout_x:设置组件的X坐标
android:layout_y:设置组件的Y坐标