Google uses AI technology to translate content into your preferred language. AI translations can contain errors.
网格
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
Grid 是一项 Jetpack Compose API,可让您灵活实现二维布局。
借助此 API,您可以在多列或多行布局中显示项,这些布局会根据可用的容器大小进行调整。
图 1.使用
Grid 实现的灵活且自适应的二维布局。
Grid 与类似的可组合项有何不同?
Compose 已经提供了类似的组件,例如 LazyVerticalGrid.
这些组件主要用于可视化大型同质数据集,例如在在线影音应用中显示内容目录。这些组件并非用于屏幕或复杂组件的结构布局。
您还可以通过组合多个 Row 和 Column 可组合项来实现二维布局。
不过,这种方法存在一些缺点,例如层次结构较深且难以适应。
下表简要介绍了哪些布局适合每种 API:
| 组件 |
用途 |
LazyVerticalGrid、LazyStaggeredGrid、LazyHorizontalGrid |
可视化需要延迟加载的大型同质数据集。 |
Row、Column、FlexBox |
一维布局 |
Grid |
二维布局 |
术语
请熟悉以下术语,以了解 Grid 的工作原理。
网格线
网格由水平和垂直的线条组成。
如果您的网格有三行,则有四条水平线,包括最后一行之后的水平线。
在下图中,每条虚线代表一条网格线:
图 2。
网格由四条水平线和三条垂直线组成。
网格轨道
网格轨道是两条网格线之间的空间。
行轨道位于两条水平线之间,列轨道位于两条垂直线之间。
如需定义这些轨道的大小,请在创建网格时为其分配大小。
图 3.
第一行的网格轨道。
网格单元
网格单元是行轨道和列轨道的交集。
图 4。
作为第二行和第二列交集的网格单元。
网格区域
网格区域由多个网格单元组成。
您可以通过使项跨越多个轨道来定义网格区域。
图 5.
由四个网格单元组成的网格区域。
网格间距
网格间距是网格轨道之间的间距。
您无法将界面元素放置到间距中,但可以让界面元素跨越间距。
图 6。
第一列和第二列之间的网格间距。
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2026-06-20。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2026-06-20。"],[],[]]