Compose 提供了大量基于 Material Design 的可组合项以及依赖项,旨在简化界面的构建。诸如 Drawer
、FloatingActionButton
和 TopAppBar
之类的元素都有提供。Material 组件大量使用槽位 API,这是 Compose 引入的一种模式,可在组合项之上带来一层自定义设置。可组合项通常采用 lambda (content: @Composable () -> Unit
)。
Scaffold
可以实现具有基本 Material Design 布局结构的界面。Scaffold
可以为最常见的顶级 Material 组件(如 TopAppBar
、BottomAppBar
、FloatingActionButton
和 Drawer
)提供槽位。通过使用 Scaffold
,可轻松确保这些组件得到适当放置且正确地协同工作。
@Composable
fun Scaffold(
modifier: Modifier = Modifier,
scaffoldState: ScaffoldState = rememberScaffoldState(),
topBar: @Composable () -> Unit = {},
bottomBar: @Composable () -> Unit = {},
snackbarHost: @Composable (SnackbarHostState) -> Unit = { SnackbarHost(it) },
floatingActionButton: @Composable () -> Unit = {},
floatingActionButtonPosition