该博客基于:compose_version = '1.1.0-beta01'
脚手架实现了Material设计的页面基本结构。该组件通过确保其适当的布局策略从而将其他的多个组件组合在一起构成页面,包括标题栏、底部栏、SnackBar(类似Toast功能)、浮动按钮、抽屉组件、剩余内容布局等
Scaffold
首先来看看参数:
Scaffold(
modifier: Modifier = Modifier,//布局修饰
scaffoldState: ScaffoldState = rememberScaffoldState(),//脚手架状态(例如控件抽屉是否打开)
topBar: @Composable () -> Unit = {},//屏幕顶部的标题栏
bottomBar: @Composable () -> Unit = {},//屏幕底部的标题栏
snackbarHost: @Composable (SnackbarHostState) -> Unit = { SnackbarHost(it) },//用来展示SnackBar的一个组件
floatingActionButton: @Composable () -> Unit = {},//悬浮按钮
floatingActionButtonPosition: FabPosition = FabPosition.End,// 悬浮按钮在屏幕上的位置
isFloatingActionButtonDocked: Boolean = false,// 如果存在BottomBar,那么是否与BottomBar重叠一半的高度
drawerContent: @Composable (ColumnScope.() -> Unit)? = null,// 抽屉组件中的内容
drawerGesturesEnabled: Boolean = true,//否允许手势控制抽屉的打开和关闭
drawerShape: Shape = MaterialTheme.shapes.large,//抽屉组件的形状
drawerElevation: Dp = DrawerDefaults.Elevation,//抽屉组件的阴影高度
drawerBackgroundColor: Color = MaterialTheme.colors.surface,//抽屉组件的背景色
drawerContentColor: Co