1、线性布局 - LinearLayout
LinearLayout 是一个视图容器,用于使所有子视图在单个方向(垂直或水平)保持对齐。您可
使用 android:orientation 属性指定布局方向。
属性 | 描述 | 效果图 |
---|---|---|
android:orientation=“horizontal” | 水平 | ![]() |
android:orientation=“vertical” | 垂直 | ![]() |
android:layout_weight | 布局权重(通过给子视图设置权重值,来分配子视图所占空间的权重(比例),如图三个子视图权重分别设置为1,均分页面空间) | ![]() |
2、相对布局 - RelativeLayout
相对布局 :子视图可通过相应的布局属性,设定相对于另一个兄弟视图或父视图容器的相对位置
- 相对于兄弟元素
属性名称 | 属性含义 |
---|---|
android:layout_below="@id/aaa" | 在指定View的下方 |
android:layout_above="@id/aaa" | 在指定View的上方 |
android:layout_toLeftOf="@id/aaa" | 在指定View的左边 |
android:layout_toRightOf="@id/aaa" | 在指定View的右边 |
android:layout_alignTop="@id/aaa" | 与指定View的上边界一致 |
android:layout_alignBottom="@id/aaa" | 与指定View下边界一致 |
android:layout_alignLeft="@id/aaa" | 与指定View的左边界一致 |
android:layout_alignRight="@id/aaa" | 与指定View的右边界一致 |
- 相对于父元素
属性名称 | 属性含义 | 效果 |
---|---|---|
android:layout_alignParentLeft=“true” | 在父元素内左边 | ![]() |
android:layout_alignParentRight=“true” | 在父元素内右边 | ![]() |
android:layout_alignParentTop=“true” | 在父元素内顶部 | ![]() |
android:layout_alignParentBottom=“true” | 在父元素内底部 | ![]() |
- 对齐方式
属性名称 | 属性含义 | 效果图 |
---|---|---|
android:layout_centerInParent=“true” | 居中布局 | ![]() |
android:layout_centerVertical=“true” | 垂直居中布局 | ![]() |
android:layout_centerHorizontal=“true” | 水平居中布局 | ![]() |
- 间隔
属性名称 | 属性含义 |
---|---|
android:layout_marginBottom="" | 离某元素底边缘的距离 |
android:layout_marginLeft="" | 离某元素左边缘的距离 |
android:layout_marginRight ="" | 离某元素右边缘的距离 |
android:layout_marginTop="" | 离某元素上边缘的距离 |
android:layout_paddingBottom="" | 往内部元素底边缘填充距离 |
android:layout_paddingLeft="" | 往内部元素左边缘填充距离 |
android:layout_paddingRight ="" | 往内部元素右边缘填充距离 |
android:layout_paddingTop="" | 往内部元素右边缘填充距离 |
3、帧布局 - FrameLayout
最简单的一种布局,没有任何定位方式,当我们往里面添加控件的时候,会默认把他们放到这块区
域的左上角,帧布局的大小由控件中最大的子控件决定,如果控件的大小一样大的话,那么同一时
刻就只能看到最上面的那个组件,后续添加的控件会覆盖前一个
4、网格布局 GridLayout
属性说明
名称 | 含义 |
---|---|
android:columnCount | 列数 |
android:rowCount | 行数 |
android:layout_columnSpan | 横跨的列数 |
android:layout_rowSpan | 横跨的行数 |