是一种布局,让您可以相对于屏幕上的其他可组合项来放置可组合项。它是一种实用的替代方案,可代替使用多个已嵌套的 、、 和其他自定义布局元素这种做法。在实现对齐要求比较复杂的较大布局时, 很有用。
在以下情况下,考虑使用 :
- 为了避免在屏幕上定位元素时嵌套多个 和 ,以便提高代码的可读性。
- 相对于其它可组合项来定位可组合项,或根据引导线、屏障线或链来定位可组合项。
在 View 系统中,建议使用 来创建复杂的大型布局,因为扁平视图层次结构比嵌套视图的效果更好。不过,这在 Compose 中不是什么问题,因为 Compose 能够高效地处理较深的布局层次结构。
如需使用 Compose 中的 ,您需要在 中添加以下依赖项(除了 Compose 设置外):
Compose 中的 使用 DSL 按以下方式运作:
- 使用 或 为 中的每个可组合项创建引用。
- 约束条件是使用 修饰符提供的,该修饰符将引用作为参数,可让您在主体 lambda 中指定其约束条件。
- 约束条件是使用 或其他有用的方法指定的。
- 是一个现有的引用,可用于指定对 可组合项本身的约束条件。
下面是使用 的可组合项的示例:
此代码使用 的外边距来约束 顶部到父项的距离,同样使用 的外边距来约束 到 底部的距离。
在 示例中,约束条件是在应用它们的可组合项中使用修饰符以内嵌方式指定的。不过,在某些情况下,最好将约束条件与应用它们的布局分离开来。例如,您可能会希望根据屏幕配置来更改约束条件,或在两个约束条件集之间添加动画效果。

对于此类情况,您可以通过不同的方式使用 :
- 将 作为参数传递给 。
- 使用 修饰符将在 中创建的引用分配给可组合项。
然后,当您需要更改约束条件时,只需传递不同的 即可。
包含引导线、屏障线和链等概念,掌握这些概念有助于在您的可组合项内定位元素。
引导线是设计布局时使用的小型视觉辅助工具。可组合项可以受引导线约束。在父级可组合项内的特定 或 处定位元素时,引导线很有用。
有两种不同的引导线:垂直和水平引导线。两种水平引导线分别是 和 ,两种垂直引导线分别是 和 。
若要创建引导线,请使用 和所需的引导线类型。这会创建一个可在 块中使用的引用。
屏障线会引用多个可组合项,从而根据所指定边中处于最边缘位置的 widget 创建虚拟引导线。

若要创建屏障线,请使用 (或 、、),并提供构成屏障线的引用。
该屏障线随后可用于 块中。
链在单条轴(水平或垂直方向)上提供类似于组的行为。另一条轴可单独约束。
若要创建链,请使用 或 :
该链随后可用于 块中。
链可通过不同的 (决定了可组合项周围空间的处理方式)配置,例如:
- :空间会在所有可组合项之间均匀分布,包括第一个可组合项之前和最后一个可组合项之后的可用空间。
- :空间会在所有可组合项之间均匀分布,不包括第一个可组合项之前或最后一个可组合项之后的任何可用空间。
- :空间会分布在第一个可组合项之前和最后一个可组合项之后,各个可组合项之间没有空间,会挤在一起。
如需详细了解 Compose 中的 ,请参阅中的 API 的实际运用。
- 注意:当 JavaScript 处于关闭状态时,系统会显示链接文字
- Compose 中的焦点
- Kotlin 对 Jetpack Compose 的支持
- Compose 布局基础知识

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/185247.html