线性布局
竖直方向
- 左右对齐生效,顶部底部对齐无效
- 水平居中生效,竖直居中无效
例:
代码部署 鸭姐并没有成为下面的朋友水平方向
- 顶部底部对齐生效,左右对齐无效
- 竖直居中生效,水平居中无效
例(orientation改成了"horizontal"):
淋淋和仙子站在原地没动作注:两者不能同时生效,线性布局中的组件是永远不会重叠的。
权重
-
layout_weightSum:把线性布局中剩余空间分成N份。
-
layout_weight:指定当前控件在父元素(线性布局)中占N份。
-
visibility:是控制布局是否显示
值 | 含义 |
---|---|
visible | 显示 |
invisible | 不显示但占空间 |
gone | 隐藏 |
例:
代码部署 阴婷大事不妙解:第一个文本框的宽度给了20dp,第二个文本框100dp,屏幕剩下的宽度会按照比例(1:1)分配给两个文本框。
注:在项目开发的过程中设置控件宽度搭配权重的时候通常把控件宽度设置为0dp,这样控件没有初始宽度,按比例分配宽度很好计算。
另:
weightSum
属性是可以去掉的,计算结果等于控件的权重和,若weightSum
的值大于控件的值,则会在屏幕上会有部分留白。
例:
代码部署 鸭姐神秘失踪相对布局
- 组件可以重叠(没有方向性)
- 所有组件默认位置:左对齐,顶部对齐
属性 | 含义 |
---|---|
layout_toRightOf | 在指定控件的右边 |
layout_toLeftOf | 在指定控件的左边 |
layout_above | 在指定控件的上边 |
layout_below | 在指定控件的下边 |
layout_alignBaseline | 和指定控件水平对齐 |
layout_alignLeft | 和指定控件左对齐 |
layout_alignRight | 和指定控件右对齐 |
layout_alignTop | 和指定控件顶部对齐 |
layout_alignBottom | 和指定控件底部对齐 |
layout_alignParentLeft | 是否和父元素左对齐 |
layout_alignParentRight | 是否和父元素右对齐 |
layout_alignParentTop | 是否和父元素顶部对齐 |
layout_alignParentBottom | 是否和父元素底部对齐 |
layout_centerVertical | 在父元素中水平居中 |
layout_alignParentLeft | 在父元素中垂直居中 |
layout_centerInParent | 在父元素中居中 |
相对父控件
例:
代码部署 鸭姐未做设置默认做左边的朋友,阴婷人淡如菊在下面肛里见,淋淋不甘寂寞在右面寻找她的Mr.Q相对指定控件
例:
代码部署注:
阴婷永远人淡如菊没动作萧亚轩的代码中既和Mr.Q左对齐,又和它右对齐,导致了萧亚轩的文本框整个被吸长(原本只是包裹内容),也就是说:宽度也是可以相对的
android:layout_alignRight="@+id/jolin"
android:layout_alignLeft="@+id/jolin"
互相搭配即可完成简单相对布局
全家福惹帧布局
- 组件可以叠加
- 所有组件默认位置:左对齐,顶部对齐
- 布局方式和线性布局一样,但是帧布局没有方向
例:
代码部署 地才淋淋表格布局
- 一个TableRow节点是一行
- TableRow中有几个子节点就是几列
- 宽高可省略不设置(因为设置没用)
网友评论