Android 布局属性汇总

80 阅读8分钟

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_widthandroid: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_marginLeftandroid:layout_marginRightandroid:layout_marginTopandroid: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_contentmatch_parent等。
android:layout_height定义布局的高度,可以是wrap_contentmatch_parent等。
android:stretchColumns和android:shrinkColumns属性示例android:stretchColumns="1" 拉伸第2列;android:shrinkColumns="0,2" 收缩第1和第3列。
TableRow 属性
android:layout_width定义TableRow的宽度,可以是wrap_contentmatch_parent等。
android:layout_height定义TableRow的高度,可以是wrap_contentmatch_parent等。
子控件属性
android:layout_span指定子控件跨越的列数,定义了表格中一个单元格的跨度。
android:layout_column指定子控件所在的列。
android:gravity定义子控件在其单元格内的对齐方式,如centerleftright等。
android:padding设置子控件的内边距。
android:layout_width定义子控件的宽度,可以是wrap_contentmatch_parent等。
android:layout_height定义子控件的高度,可以是wrap_contentmatch_parent等。

5、GridLayout布局 GridLayout

GridLayout 属性描述
android:alignmentMode指定子视图的对齐模式。可以是 alignBounds(默认)、alignMargins 等。
android:columnCount指定网格的列数。
android:rowCount指定网格的行数。
android:columnOrderPreserved指定是否保留列的顺序,默认是 false
android:rowOrderPreserved指定是否保留行的顺序,默认是 false
android:layout_gravity设置子视图在网格单元格中的对齐方式,如 startcenter 等。
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_contentmatch_parent 等。
android:layout_height指定子视图的高度,可以是 wrap_contentmatch_parent 等。
子控件属性描述
android:layout_column指定子控件所在的列。
android:layout_row指定子控件所在的行。
android:layout_columnSpan指定子控件跨越的列数。
android:layout_rowSpan指定子控件跨越的行数。
android:layout_gravity设置子控件在其网格单元格内的对齐方式,如 startcenter 等。
android:layout_width指定子控件的宽度,可以是 wrap_contentmatch_parent 等。
android:layout_height指定子控件的高度,可以是 wrap_contentmatch_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控制抽屉的锁定模式,可以是 lockedunlockedlocked-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…