开发者问题收集

是否存在与 <include> 等效的组件来在 Jetpack Compose 中重用设计/布局?

2020-08-17
1026

在正常的 Xml 活动构建中,存在一个 <include> 属性,允许在不同活动(如顶部和底部栏)中重复使用设计。我一直在 Jetpack Compose 中搜索类似的东西,但找不到任何东西。 我知道 @Composable 函数作为独立元素工作,可以随时使用,但如果我使用这种方法,这些元素将在活动发生变化时重新加载。

1个回答

无需这样做:只需在定义要使用的设计/布局的位置调用该函数即可。

在传统的 Android 布局中,需要使用 <include> 标记,因为 XML 没有“调用”另一个 XML 文件的概念。在 Compose 中,每个布局和每个组件都是一个函数,因此您可以在任何想要重复使用该布局的地方直接调用该函数。

将可组合函数的内容直接包含在另一个可组合函数中与调用该可组合函数之间几乎没有区别(运行时的内部簿记略有不同,但 Compose 用户通常无需担心)。

事实上,您可以将可组合函数标记为 inline 以更直接地实现此目的,并将内容内联到调用函数中。

Ryan M
2020-08-17