四种常用的布局资源:
1.LinearLayout(线性布局):
特点:以水平或垂直方向排列。
核心属性:
android:orientation : horizontal或vertical
android:layout_weight:按比例分配剩余空间
android:gravity:控制子视图在容器内的对齐方式
android:layout_gravity:控制子视图自身在容器内的对齐方式
适用场景:
1.简单的列表式布局(如表单项)
2.需要按比例分配空间的场景(配合 weight)
3.嵌套层级不宜过深,否则影响性能
2.RelativeLayout(相对布局):
特点:子视图通过相对于父容器或其他兄弟视图的位置来定位,可减少布局嵌套。
核心属性(相对于父容器):
layout_alignParentTop / Bottom / Left / Right
layout_centerInParent / centerHorizontal / centerVertical
核心属性(相对于其他视图):
layout_above / below
layout_toLeftOf / toRightOf
layout_alignTop / alignBottom / alignLeft / alignRight
适用场景:
1.相对复杂的界面,但希望控制嵌套层级
2.需要基于某个视图进行对齐或定位的布局
3.FrameLayout(帧布局):
特点:开辟空白区域,帧里的控件(层)叠加。
核心属性:
android:foreground:设置前景(始终位于最上层)
android:foregroundGravity:前景对齐方式
适用场景:
1.Fragment 容器
2.叠加效果(如图片 + 文字角标)
3.简单占位或过渡动画
4.TableLayout(表格布局):
特点:表格形式排列。
核心属性:
1.TableLayout 容器属性
android:stretchColumns:指定哪些列可拉伸填满剩余空间
android:shrinkColumns:指定哪些列可收缩避免超出屏幕
android:collapseColumns:指定哪些列被隐藏
2.TableRow 及子视图属性
android:layout_column:指定视图所在的列索引(从0开始)
android:layout_span:指定视图跨越的列数
适用场景:
1.规则表格数据展示
2.表单标签-值对(如个人资料页)
3.日历,日程表