1. Android 组件
2026/1/31大约 2 分钟
1. Android 组件
Scaffold
Scaffold 是 Jetpack Compose 中的一个重要布局组件,用于构建标准的应用界面结构。它提供了一个基础的布局框架,可以轻松地创建和组织界面中的各种元素,比如顶部栏、底部导航、浮动操作按钮等。
Scaffold 的作用:
Scaffold 帮助你管理布局的各个部分,例如:
Top App Bar:通常用于显示应用的标题和操作按钮。
Bottom Bar:一般用于显示底部导航栏。
Floating Action Button (FAB):用于显示浮动按钮,通常用于执行主要操作。
Drawer:侧滑菜单,通常用于显示应用的导航选项。
Content:实际的内容区域,通常是应用的主界面。
Scaffold 提供了一种快速构建这些常见 UI 组件的方式,使得在 Compose 中构建复杂的布局变得非常简单。
基本用法:
@Composable
fun MyApp() {
Scaffold(
topBar = {
TopAppBar(
title = { Text("My Application") },
actions = {
IconButton(onClick = { /* Handle action */ }) {
Icon(Icons.Default.Search, contentDescription = "Search")
}
}
)
},
bottomBar = {
BottomAppBar {
Text("Bottom Bar Content")
}
},
floatingActionButton = {
FloatingActionButton(onClick = { /* Handle FAB click */ }) {
Icon(Icons.Default.Add, contentDescription = "Add")
}
},
content = { paddingValues ->
// Content goes here. The paddingValues will help prevent overlap with top and bottom bars
Column(
modifier = Modifier.padding(paddingValues)
) {
Text("Main Content")
}
}
)
}Scaffold 的参数:
Scaffold 提供了多个可以自定义的参数:
- topBar: 顶部栏,通常用于显示应用的标题和操作按钮。
- bottomBar: 底部栏,通常用于显示底部导航或其他工具栏。
- floatingActionButton: 浮动操作按钮,通常用于执行主要操作,如添加内容或刷新。
- drawerContent: 侧滑菜单内容,可以通过 ScaffoldState 来打开或关闭。
- content: 主体内容区,放置应用的核心界面元素。paddingValues 用于确保内容不会被顶部栏、底部栏或浮动按钮遮挡。
- snackbarHost: 用于显示 Snackbar(消息提示条)。