如何在 Jetpack Compose 中实现现代 Card 组件(a'la Material Design 3.0)

Posted

技术标签:

【中文标题】如何在 Jetpack Compose 中实现现代 Card 组件(a\'la Material Design 3.0)【英文标题】:How to implement modern Card component (a'la Material Design 3.0) in Jetpack Compose如何在 Jetpack Compose 中实现现代 Card 组件(a'la Material Design 3.0) 【发布时间】:2021-12-29 20:28:01 【问题描述】:

如何使用 Compose 实现这些在更新的 Google 应用中看到的现代、微妙的 Card 组件?

它们没有边框,它们有点高,后面有一个微妙的阴影。我尝试在标准卡片上摆弄修饰符,但没有接近这个结果。

它们的类似版本(提升的 Filled?)出现在 Material Design 3.0 docs 上,但其实现尚不可用于 Compose。

【问题讨论】:

您可以使用gist.github.com/cedrickring/0497965b0658d6727aaec531f59e8c5c 为卡片实现彩色阴影 【参考方案1】:

我看不出与以前的卡有太大区别。也许边界半径和海拔更高。在您发布的图片中,他们似乎使用类似于阴影颜色的背景颜色来降低对比度。

无论如何,您都可以在这里找到用于 Compose 的新 Material Design 3:https://developer.android.com/jetpack/androidx/releases/compose-material3

【讨论】:

以上是关于如何在 Jetpack Compose 中实现现代 Card 组件(a'la Material Design 3.0)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Jetpack Compose 的 LazyColumn/LazyRow 中禁用和启用滚动?

Jetpack Compose 中可绘制动画的替代方法是啥

Jetpack compose 上的 AdjustResize 不起作用

展开时更改 ModalDrawer 的大小,Jetpack Compose

Wear OS 上 Jetpack Compose 中的 BasicTextField 问题

Jetpack Compose 1.0 正式发布!打造原生 UI 的 Android 现代工具包