将卡片创建为容器

Card 可组合函数充当您的 UI 的 Material Design 容器。卡片呈现单一连贯的内容片段,例如:

  • 购物应用中的产品。
  • 新闻应用中的新闻报道。
  • 通信应用中的消息。

Card 与其他容器的区别在于其重点在于呈现单一内容片段。例如,Scaffold 为整个屏幕提供一般结构。Card 是一个较大布局中的较小 UI 元素,而 ColumnRow 等布局组件提供更简单、更通用的 API。

本主题向您展示如何实现四种类型的卡片

版本兼容性

此实现要求您的项目 minSDK 设置为 API 级别 21 或更高。

依赖项

创建基本卡片

Card 的行为与其他 Compose 容器非常相似。您可以通过在其内部调用其他可组合函数来声明其内容。例如,考虑在以下最小示例中 Card 如何包含对 Text 的调用:

创建填充卡片

这里的关键是使用 colors 属性来更改填充颜色

结果

A card is filled with the surface variant color from the material theme.
图 1. 填充卡片示例。

创建高架卡片

以下代码段演示了如何实现高架卡片。使用专用的 ElevatedCard 可组合函数。

您可以使用 elevation 属性来控制高架的外观和产生的阴影。

结果

A card is elevated above the background of the app, with a shadow.
图 2. 高架卡片示例。

创建轮廓卡片

以下是轮廓卡片的示例。使用专用的 OutlinedCard 可组合函数。

结果

A card is outlined with a thin black border.
图 3. 轮廓卡片示例。

要点

请参阅 参考文档 以获取 Card 的 API 定义。它定义了几个参数,您可以使用这些参数来自定义组件的外观和行为。

一些关键参数包括

  • elevation:向组件添加阴影,使其看起来高于背景。
  • colors:使用 CardColors 类型设置容器和所有子项的默认颜色。
  • enabled:如果您为此参数传入 false,则卡片将显示为禁用状态,并且不对用户输入做出响应。
  • onClick:通常,Card 不接受点击事件。因此,您需要注意的主要重载是定义 onClick 参数的重载。当您希望您的 Card 实现能够响应用户的点击时,请使用此重载。

卡片本身不包含滚动或消除操作,但可以集成到提供这些功能的可组合函数中。例如,要在卡片上实现滑动消除,请将其与 SwipeToDismiss 可组合函数集成。要与滚动集成,请使用滚动修饰符,例如 verticalScroll。有关详细信息,请参阅滚动文档

包含此指南的集合

此指南是这些精选快速指南集合的一部分,这些集合涵盖了更广泛的 Android 开发目标

了解可组合函数如何让您基于 Material Design 设计系统轻松创建精美的 UI 组件。

有疑问或反馈

前往我们的常见问题解答页面,了解快速指南或联系我们告知您的想法。