安卓开发学习日记3-布局
Android中有七大布局,分别是: LinearLayout(线性布局)、RelativeLayout(相对布局)、TableLayout(表格布局) 、FrameLayout(帧布局)、AbsoluteLayout(绝对布局)、GridLayout(网格布局)、ConstraintLayout(约束布局)
1.LinearLayout(线性布局)
1.1 orientation设置布局管理器内组件的排列方式,可以设置为:horizontal(横向)、vertical(纵向)
1.2 gravity是针对当前控件里面内容的摆放,如果是容器,则针对的是容器里面子view的摆放;如果是控件,则针对的是控件里面内容的摆放。
1.3 layout_gravity是指当前控件在父控件里面的摆放位置,不过需要注意的一点是父控件设置的gravity的级别要低于子控件设置的layout_gravity。
属性值可设为 top(顶部对齐) 、bottom(底部对齐) 、left(左对齐) 、right(右对齐) 、center_vertical(垂直方向居中) 、 fill_vertical(垂直方向填充) 、 center_horizontal(水平方向居中) 、 fill_horizontal(水平方向填充) 、center(垂直与水平方向都居中) 、 fill (填充)、 clip_vertical(垂直方向裁剪) 、 clip_horizontal(水平方向裁剪)
1.4 layout_weight权重
2.RelativeLayout(相对布局)
3.TableLayout(表格布局)
TableLayout包裹TableRow(行数),
TableRow包裹view(列数)。
shrinkColumns属性:当TableRow里边的空间布满布局的时候,指定列自动延伸以填充可用部分。当TableRow里边的控件还没有布满布局时,不起作用。
tretchColumns属性:设置可伸展的列。该列可以向行方向伸展,最多可占据一整行。
collapseColumns属性:设置要隐藏的列。
4.FrameLayout(帧布局)
android:foreground:设置改帧布局容器的前景图像
android:foregroundGravity:设置前景图像显示的位置
前景图像:永远处于帧布局最上面,直接面对用户的图像,就是不会被覆盖的图片。
5.AbsoluteLayout(绝对布局)
6.GridLayout(网格布局)
android:layout_width:组件宽度
android:layout_height:组件高度
android:layout_x:设置组件的X坐标
android:layout_y:设置组件的Y坐标