布局是对ViewGroup类的扩展,他是用来控制子控件在UI中的位置的,布局是可以嵌套的,因此,可以使用多个布局的组合来创建任意复杂的界面。
布局的分类:
LinearLayout(线性布局)
FrameLayout(框架布局)
RelativeLayout(相对布局)
AbsoluteLayout(绝对布局):已废弃
TableLayout(绝对布局):已废弃
LinearLayout(布局):
方向:
默认是水平方向的
android:orientation="horizontal"
c垂直方向:
android:orientation="vertical"
权重:
子控件的宽度是水平方向上均分
子控件的高度在垂直方向均分
FrameLayout(布局)
把每一个子视图放置在边框内,默认的位置是左上角,不过可以使用graity属性来改变其位置,在添加多个子视图时,他会把每一个新的子视图堆积在前一个子视图的上面,而且每一个新的子视图可能会遮挡住上一个。
会发生重叠现象,越后面的越展示在前
常用属性:
android:layout_gravity="center"
可选值
center
center_vertical
center_horizontal
RelativeLayout(布局):
子控件默认子其左上角
会发生重叠现象
子控件在配置时,需要考虑
相对于谁?
相对于父控件
属性:
alignParentRight(右对齐)
alignParentLeft(左对齐)
alignParentTop(上对齐)
alignParentBottom(下对齐)
相对于同级控件
属性:
above
below
toLeftOf
toRightOf
alignLeft
alignRight
alignTop
alignBottom