获得徽章 9
赞了这篇沸点
一、线性布局
概括:按垂直或水平方向顺序排列子视图。

核心机制:通过orientation设置方向。layout_weight权重属性按比例分配剩余空间,如两个子视图均设weight="1"则平分空间。gravity控制整体对齐,layout_gravity控制单个子视图位置。

应用场景:登录表单垂直排列、工具栏按钮水平排列。

---

二、相对布局

概括:通过子视图之间或与父容器的相对关系定位。

核心机制:通过layout_toLeftOf、layout_above等属性建立兄弟视图约束;通过layout_alignParentTop、layout_centerInParent等对齐父容器。所有约束需通过@id引用其他视图,且被引用视图需先定义。

应用场景:标题栏(返回按钮居左、标题居中)、表单页标签与输入框对齐。

---

三、帧布局

概括:子视图默认堆叠在左上角,后添加的覆盖在先添加的上方。

核心机制:利用堆叠特性实现图层效果。通过layout_gravity控制子视图位置(如居中、底部),这是唯一的定位方式。支持foreground属性在所有子视图之上绘制固定前景。

应用场景:Fragment容器、启动页(背景+居中Logo+底部进度条)、图片文字水印。

---

四、表格布局

概括:以行和列的形式组织子视图,类似HTML表格。

核心机制:使用<TableRow>定义行,行内子视图自动成为列。stretchColumns指定拉伸列,shrinkColumns指定收缩列,collapseColumns隐藏列。通过layout_span实现跨列。表格布局本身是LinearLayout子类,支持在根节点设置列控制属性。

应用场景:设置页面多行多列配置、计算器按钮网格、对齐的多列输入项。

---

五、总结

四种布局各有侧重:

· 线性布局:适合简单线性排列和等分需求
· 相对布局:适合视图间存在依赖关系的界面
· 帧布局:适合图层叠加和Fragment容器场景
· 表格布局:适合规则的行列结构界面(虽常被GridLayout或RecyclerView替代,但在简单表格场景中仍有简洁性)

以下是示例图
1是线性布局
2是相对布局
3、4是帧布局
5、6是表格布局
展开
代码的垃圾桶于2026-03-25 09:04发布的图片
代码的垃圾桶于2026-03-25 09:04发布的图片
代码的垃圾桶于2026-03-25 09:04发布的图片
代码的垃圾桶于2026-03-25 09:04发布的图片
代码的垃圾桶于2026-03-25 09:04发布的图片
代码的垃圾桶于2026-03-25 09:04发布的图片
评论
真的是金主爸爸[呲牙]
旁及于2026-03-17 16:08发布的图片
旁及于2026-03-17 16:08发布的图片
4
公众号 @全栈开发师
公众号 @全栈开发师
公众号 @全栈开发师
公众号 @全栈开发师
公众号 @全栈开发师
公众号 @全栈开发师
公众号 @全栈开发师
兄弟们,搞了个新玩法,安装Windows to Go专门用来装游戏,随便玩,不用担心开发环境被篡改了[做鬼脸][做鬼脸]
评论
各位千万不要装Windows 英文版,哪怕切换成中文之后也会有各种各样的问题,问就是实践来的[白眼的狗][白眼的狗]
评论
jym,i5-13600KF + RTX4080做办公机,还算可行?
10
公众号 @全栈开发师
下一页
个人成就
文章被点赞 136
文章被阅读 54,534
掘力值 1,314
收藏集
2
关注标签
112
加入于