1、线性布局 LinearLayout
| 属性名称 | 描述 |
|---|---|
| android:layout_width | 子视图的宽度,可以设置为 "wrap_content"、"match_parent" 或具体的尺寸值。 |
| android:layout_height | 子视图的高度,可以设置为 "wrap_content"、"match_parent" 或具体的尺寸值。 |
| android:orientation | 指定线性布局的方向,可以设置为 "horizontal"(水平)或 "vertical"(垂直)。默认值是 "horizontal"。 |
| android:layout_weight | 用于设置子视图的权重,以确定它们在布局中所占的空间比例。通常与 android:layout_width 或 android:layout_height 属性一起使用。 |
| android:gravity | 用于控制子视图内部内容的对齐方式。它可以设置为 "center"、"center_vertical"、"center_horizontal"、"start"、"end" 等。 |
| android:layout_gravity | 用于控制子视图在父线性布局中的对齐方式。它可以设置为 "top"、"bottom"、"center_vertical"、"start"、"end" 等。 |
| android:baselineAligned | 设置为 "true" 时,子视图的基线(baseline)会对齐。默认值是 "true"。 |
| android:baselineAlignedChildIndex | 指定哪个子视图的基线用于对齐。如果设置了 android:baselineAligned 为 "true",则可以使用此属性指定子视图的索引。 |
| android:weightSum | 用于指定子视图权重的总和。通常在权重分配中使用。 |
| android:layout_margin | 设置子视图的外边距,可以设置为具体的尺寸值或 "wrap_content"。可以使用 android:layout_marginLeft、android:layout_marginRight、android:layout_marginTop、android:layout_marginBottom 等属性来单独控制四个边的外边距。 |
| android:layout_marginStart | 设置子视图的起始边外边距(适用于从右到左的语言环境)。 |
| android:layout_marginEnd | 设置子视图的结束边外边距(适用于从右到左的语言环境)。 |
2、相对布局 RelativeLayout
| 属性名称 | 描述 |
|---|---|
| android:layout_width | 子视图的宽度,可以设置为 "wrap_content"、"match_parent" 或具体的尺寸值。 |
| android:layout_height | 子视图的高度,可以设置为 "wrap_content"、"match_parent" 或具体的尺寸值。 |
| android:id | 为视图分配一个唯一的标识符,以便其他视图相对于它定位。 |
| android:layout_alignParentTop | 将视图的顶部边缘与父容器的顶部边缘对齐。 |
| android:layout_alignParentBottom | 将视图的底部边缘与父容器的底部边缘对齐。 |
| android:layout_alignParentLeft | 将视图的左边缘与父容器的左边缘对齐。 |
| android:layout_alignParentRight | 将视图的右边缘与父容器的右边缘对齐。 |
| android:layout_centerInParent | 将视图居中放置在父容器内。 |
| android:layout_centerHorizontal | 将视图的水平中心与父容器的水平中心对齐。 |
| android:layout_centerVertical | 将视图的垂直中心与父容器的垂直中心对齐。 |
| android:layout_toLeftOf | 将视图放置在另一个视图的左侧。 |
| android:layout_toRightOf | 将视图放置在另一个视图的右侧。 |
| android:layout_above | 将视图放置在另一个视图的上方。 |
| android:layout_below | 将视图放置在另一个视图的下方。 |
| android:layout_alignTop | 将视图的顶部边缘与另一个视图的顶部边缘对齐。 |
| android:layout_alignBottom | 将视图的底部边缘与另一个视图的底部边缘对齐。 |
| android:layout_alignLeft | 将视图的左边缘与另一个视图的左边缘对齐。 |
| android:layout_alignRight | 将视图的右边缘与另一个视图的右边缘对齐。 |
| android:layout_alignBaseline | 将视图的基线与另一个视图的基线对齐。 |
3、帧布局 FrameLayout
| 属性名称 | 描述 |
|---|---|
| android:layout_width | 设置 FrameLayout 的宽度,可以设置为 "wrap_content"、"match_parent" 或具体的尺寸值。 |
| android:layout_height | 设置 FrameLayout 的高度,可以设置为 "wrap_content"、"match_parent" 或具体的尺寸值。 |
| android:foreground | 设置前景视图,用于在 FrameLayout 前置显示。可以设置为一个 Drawable 或颜色。 |
| android:foregroundGravity | 控制前景视图在 FrameLayout 中的对齐方式,类似于 android:layout_gravity。 |
| android:layout_gravity | 相对于父容器的位置。可以设置为 "top"、"bottom"、"left"、"right"、"center" 等。 |
| android:layout_margin | 设置 FrameLayout 的外边距,可以设置为具体的尺寸值或 "wrap_content"。 |
| android:layout_marginLeft | 设置 FrameLayout 的左外边距。示例:android:layout_marginLeft="8dp"。 |
4、表格布局 TableLayout
| 属性 | 描述 |
|---|---|
| TableLayout 属性 | |
| android:stretchColumns | 定义哪些列会被拉伸以占用额外的空间,可以是具体的列索引或*来拉伸所有列。 |
| android:collapseColumns | 定义哪些列会被折叠,即不显示。可以是具体的列索引或*来折叠所有列。 |
| android:shrinkColumns | 定义哪些列会收缩以适应内容,可以是具体的列索引或*来收缩所有列。 |
| android:layout_width | 定义布局的宽度,可以是wrap_content、match_parent等。 |
| android:layout_height | 定义布局的高度,可以是wrap_content、match_parent等。 |
| android:stretchColumns和android:shrinkColumns属性示例 | android:stretchColumns="1" 拉伸第2列;android:shrinkColumns="0,2" 收缩第1和第3列。 |
| TableRow 属性 | |
| android:layout_width | 定义TableRow的宽度,可以是wrap_content、match_parent等。 |
| android:layout_height | 定义TableRow的高度,可以是wrap_content、match_parent等。 |
| 子控件属性 | |
| android:layout_span | 指定子控件跨越的列数,定义了表格中一个单元格的跨度。 |
| android:layout_column | 指定子控件所在的列。 |
| android:gravity | 定义子控件在其单元格内的对齐方式,如center、left、right等。 |
| android:padding | 设置子控件的内边距。 |
| android:layout_width | 定义子控件的宽度,可以是wrap_content、match_parent等。 |
| android:layout_height | 定义子控件的高度,可以是wrap_content、match_parent等。 |
5、GridLayout布局 GridLayout
| GridLayout 属性 | 描述 |
|---|---|
| android:alignmentMode | 指定子视图的对齐模式。可以是 alignBounds(默认)、alignMargins 等。 |
| android:columnCount | 指定网格的列数。 |
| android:rowCount | 指定网格的行数。 |
| android:columnOrderPreserved | 指定是否保留列的顺序,默认是 false。 |
| android:rowOrderPreserved | 指定是否保留行的顺序,默认是 false。 |
| android:layout_gravity | 设置子视图在网格单元格中的对齐方式,如 start、center 等。 |
| android:layout_column | 指定子视图所在的列。 |
| android:layout_row | 指定子视图所在的行。 |
| android:layout_columnSpan | 指定子视图跨越的列数。 |
| android:layout_rowSpan | 指定子视图跨越的行数。 |
| android:layout_rowWeight | 设置子视图在行方向上的权重,用于均匀分布行内视图。 |
| android:layout_columnWeight | 设置子视图在列方向上的权重,用于均匀分布列内视图。 |
| android:layout_margin | 设置子视图的外边距。 |
| android:layout_marginLeft | 设置子视图的左外边距。 |
| android:layout_marginTop | 设置子视图的上外边距。 |
| android:layout_marginRight | 设置子视图的右外边距。 |
| android:layout_marginBottom | 设置子视图的下外边距。 |
| android:layout_width | 指定子视图的宽度,可以是 wrap_content、match_parent 等。 |
| android:layout_height | 指定子视图的高度,可以是 wrap_content、match_parent 等。 |
| 子控件属性 | 描述 |
|---|---|
| android:layout_column | 指定子控件所在的列。 |
| android:layout_row | 指定子控件所在的行。 |
| android:layout_columnSpan | 指定子控件跨越的列数。 |
| android:layout_rowSpan | 指定子控件跨越的行数。 |
| android:layout_gravity | 设置子控件在其网格单元格内的对齐方式,如 start、center 等。 |
| android:layout_width | 指定子控件的宽度,可以是 wrap_content、match_parent 等。 |
| android:layout_height | 指定子控件的高度,可以是 wrap_content、match_parent 等。 |
| android:layout_margin | 设置子控件的外边距。 |
| android:layout_marginLeft | 设置子控件的左外边距。 |
| android:layout_marginTop | 设置子控件的上外边距。 |
| android:layout_marginRight | 设置子控件的右外边距。 |
| android:layout_marginBottom | 设置子控件的下外边距。 |
6、抽屉布局 DrawerLayout
| 属性 | 描述 |
|---|---|
| android:layout_width | 定义 DrawerLayout 的宽度,通常设置为 match_parent。 |
| android:layout_height | 定义 DrawerLayout 的高度,通常设置为 match_parent。 |
| android:fitsSystemWindows | 控制 DrawerLayout 是否与系统窗口边界(如状态栏、导航栏)重叠。 |
| android:background | 设置 DrawerLayout 的背景。 |
| app:statusBarBackground | 设置状态栏的背景颜色或 Drawable。仅在 android:fitsSystemWindows="true" 时有效。 |
| app:scrimColor | 设置抽屉被部分遮罩时的颜色。 |
| app:scrimVisibleHeightTrigger | 滑动距离达到一定值后,开始遮罩抽屉的高度。 |
| app:drawerElevation | 设置抽屉的海拔高度(阴影效果)。 |
| app:drawerLockMode | 控制抽屉的锁定模式,可以是 locked、unlocked 或 locked-open。 |
| app:drawerTitle | 设置抽屉的标题(通常用于 Accessibility)。 |
| app:drawerOpen | 用于监听抽屉打开和关闭事件的属性,可以设置监听器来响应状态变化。 |
这些属性可用于自定义 DrawerLayout 的外观和行为。DrawerLayout 用于创建带有侧滑菜单的布局,可以在其中放置主内容视图和侧滑菜单视图。通过合理使用这些属性,你可以创建符合你应用设计和需求的侧滑菜单布局。
7、约束布局 ConstraintLayout
| 属性 | 描述 |
|---|---|
| android:layout_width | 定义 ConstraintLayout 的宽度,通常设置为 match_parent。 |
| android:layout_height | 定义 ConstraintLayout 的高度,通常设置为 match_parent。 |
| android:padding | 设置 ConstraintLayout 的内边距。 |
| android:paddingStart | 设置 ConstraintLayout 的起始内边距(适用于从右到左的布局方向)。 |
| android:paddingEnd | 设置 ConstraintLayout 的结束内边距(适用于从左到右的布局方向)。 |
| app:layout_constraintStart_toStartOf | 设置子视图的起始边与另一个视图的起始边对齐。 |
| app:layout_constraintStart_toEndOf | 设置子视图的起始边与另一个视图的结束边对齐。 |
| app:layout_constraintEnd_toStartOf | 设置子视图的结束边与另一个视图的起始边对齐。 |
| app:layout_constraintEnd_toEndOf | 设置子视图的结束边与另一个视图的结束边对齐。 |
| app:layout_constraintTop_toTopOf | 设置子视图的顶部边与另一个视图的顶部边对齐。 |
| app:layout_constraintTop_toBottomOf | 设置子视图的顶部边与另一个视图的底部边对齐。 |
| app:layout_constraintBottom_toTopOf | 设置子视图的底部边与另一个视图的顶部边对齐。 |
| app:layout_constraintBottom_toBottomOf | 设置子视图的底部边与另一个视图的底部边对齐。 |
| app:layout_constraintHorizontal_bias | 控制子视图水平位置的偏移量。 |
| app:layout_constraintVertical_bias | 控制子视图垂直位置的偏移量。 |
| app:layout_constraintDimensionRatio | 指定子视图的宽高比例。 |
| app:layout_constraintWidth_default | 设置子视图的宽度测量模式,默认为 wrap(自适应内容),还可以是 fixed(固定尺寸)、percent(百分比)等。 |
| app:layout_constraintHeight_default | 设置子视图的高度测量模式,默认为 wrap(自适应内容),还可以是 fixed(固定尺寸)、percent(百分比)等。 |
| app:layout_goneMarginStart | 设置在子视图隐藏时的起始边外边距。 |
| app:layout_goneMarginEnd | 设置在子视图隐藏时的结束边外边距。 |
这些属性用于控制 ConstraintLayout 中子视图的布局,包括相对定位、大小调整、边距设置等。ConstraintLayout 提供了丰富的属性,让你能够创建灵活且具有响应性的界面布局。你可以根据需要结合这些属性来定义约束条件,以实现不同的界面布局效果。
8、布局协调器 CoordinatorLayout
可以参考这篇文章 blog.csdn.net/qq_33209777…