安卓六大基本布局
LinearLayout(线性布局)
LinearLayout将包含的控件在线性方向上依次排列,可按照水平或垂直方向排列。
属性 | 属性值 |
---|---|
orientation:布局的排列方向 | - vertical:垂直方向 - horizontal:水平方向 |
layout_gravity:控件在布局中的对齐方式 | center、left、right、top和bottom等 |
gravity:文字在控件中的对齐方式 | center、left、right、top和bottom等 |
layout_weight:使用比例的方式指定空间大小 | 整数 |
RelativeLayout(相对布局)
RelativeLayout子视图可以基于其他视图的位置进行定位,也可以相对于屏幕的边缘进行定位。
属性 | 属性值 |
---|---|
layout_below:将子视图定位在另一个视图的下方 | 参照视图的id |
layout_above:将子视图定位在另一个视图的上方 | 参照视图的id |
layout_toLeftOf:将子视图定位在另一个视图的左侧 | 参照视图的id |
layout_toRightOf:将子视图定位在另一个视图的右侧 | 参照视图的id |
layout_alignParentTop:置于父容器顶部 | 布尔值 |
layout_alignStart:设置布局和参考布局左边缘对齐 | 参照视图的id |
layout_alignTop:设置布局和参考布局顶部对齐 | 参照视图的id |
ConstraintLayout(约束布局)
ConstraintLayout是Android Studio推荐的现代布局方式,它凭借强大的约束条件功能,能够精确地定义控件的位置和大小,轻松构建复杂的界面结构。约束布局还提供一个引导线的控件,其他元素可以相对于这条引导线(参考线,不显示在页面)进行定位,也比较实用,使定位元素更加清晰明确。
属性 | 属性值 |
---|---|
orientation:设置引导线的显示方向 | - vertical:垂直方向 - horizontal:水平方向 |
layout_constraintTop_toTopOf:将设置布局和参考布局顶部对齐 | 参照视图的id |
layout_constraintBaseline_toTopOf:设置布局的基线在参考布局上方 | 参照视图的id |
layout_constraintBaseline_toBaselineOf:设置布局基线和参考布局基线对齐,常用于不同字体文本进行文字底部对齐 | 参照视图的id |
FrameLayout(帧布局)
FrameLayout允许将多个视图叠加在一起。在FrameLayout中,子视图会按照添加的顺序堆叠,后添加的子视图会覆盖先添加的子视图。这种布局方式特别适用于需要将多个视图层叠显示的场景,例如对话框、菜单等。
GridLayout(网格布局)
TableLayout是一种用于将子控件按照表格形式排列的布局方式,特别适用于展示行列数据的场景,例如表格、表单等。在TableLayout中,我们可以使用TableRow来定义每一行,并在其中添加所需的子控件。这种布局方式有助于开发者以直观和有序的方式呈现复杂的数据集。
属性 | 属性值 |
---|---|
columnCount:列数 | 列的数量值 |
rowCount:行数 | 行的数量值 |
layout_columnSpan:设置当前View所占的列 | 整数值 |
layout_rowSpan:设置当前View所占的行数 | 整数值 |
layout_column:设置当前view所在的列 | 整数值 |
TableLayout(表格布局)
GridLayout将界面划分为多个网格,并能将子控件精确地放置在指定的网格位置中。通过设定网格的行数和列数,以及定义子控件在网格中的具体位置,GridLayout其适用于需要展示大量子控件且布局结构相对固定的场景。
属性 | 属性值 |
---|---|
layout_column:设置当前View所在的列 | 列的索引值,单个 |
layout_span:指定当前View所占的列数,列数跨度 | 列的数量值 |