浮动操作按钮 (FAB) 是一种高强调按钮,允许用户在应用中执行主要操作。它促进用户可能采取的单一、集中的主要操作,并且通常固定在屏幕右下角。
考虑以下三种您可能使用 FAB 的用例
- 创建新项目:在笔记应用中,FAB 可用于快速创建新笔记。
- 添加新联系人:在聊天应用中,FAB 可以打开一个界面,让用户将某人添加到对话中。
- 居中位置:在地图界面中,FAB 可以将地图居中到用户的当前位置。
在 Material Design 中,有四种类型的 FAB
- FAB:普通大小的浮动操作按钮。
- Small FAB:较小的浮动操作按钮。
- Large FAB:较大的浮动操作按钮。
- Extended FAB:除了图标之外还包含更多内容的浮动操作按钮。
API 界面
尽管有几个可组合项可用于创建与 Material Design 一致的浮动操作按钮,但它们的参数差异不大。您应该牢记的关键参数包括:
onClick
:用户按下按钮时调用的函数。containerColor
:按钮的颜色。contentColor
:图标的颜色。
浮动操作按钮
要创建通用的浮动操作按钮,请使用基本的 FloatingActionButton
可组合项。以下示例演示了 FAB 的基本实现
@Composable fun Example(onClick: () -> Unit) { FloatingActionButton( onClick = { onClick() }, ) { Icon(Icons.Filled.Add, "Floating action button.") } }
此实现如下所示

小按钮
要创建小浮动操作按钮,请使用 SmallFloatingActionButton
可组合项。以下示例演示了如何实现,并添加了自定义颜色。
@Composable fun SmallExample(onClick: () -> Unit) { SmallFloatingActionButton( onClick = { onClick() }, containerColor = MaterialTheme.colorScheme.secondaryContainer, contentColor = MaterialTheme.colorScheme.secondary ) { Icon(Icons.Filled.Add, "Small floating action button.") } }
此实现如下所示

大按钮
要创建大浮动操作按钮,请使用 LargeFloatingActionButton
可组合项。除了会生成一个更大的按钮之外,此可组合项与其它示例没有显著区别。
以下是大型 FAB 的简单实现。
@Composable fun LargeExample(onClick: () -> Unit) { LargeFloatingActionButton( onClick = { onClick() }, shape = CircleShape, ) { Icon(Icons.Filled.Add, "Large floating action button") } }
此实现如下所示

扩展按钮
您可以使用 ExtendedFloatingActionButton
可组合项创建更复杂的浮动操作按钮。它与 FloatingActionButton
的主要区别在于它具有专用的 icon
和 text
参数。它们允许您创建具有更复杂内容并能适当地缩放以适应其内容的按钮。
以下代码片段演示了如何实现 ExtendedFloatingActionButton
,并传入 icon
和 text
的示例值。
@Composable fun ExtendedExample(onClick: () -> Unit) { ExtendedFloatingActionButton( onClick = { onClick() }, icon = { Icon(Icons.Filled.Edit, "Extended floating action button.") }, text = { Text(text = "Extended FAB") }, ) }
此实现如下所示
