如何在 Jetpack Compose 中向图标添加阴影/边框/高度

m.r*_*ter 15 android android-jetpack-compose

我想在 Jetpack compose 中为我的图标添加阴影,以便图像和文本具有(大致)相似的阴影。

虚拟图像来自 https://www.123rf.com/photo_111707392_big-data-vector-icon-isolated-on-transparent-background-big-data-transparency-logo-concept.html 在此输入图像描述

Text(
    text = "HAS SHADOW",
    style = MaterialTheme.typography.body2.copy(
        shadow =  Shadow(
            color = Color(0x4c000000),
            offset = Offset(2f, 2f),
            blurRadius = 7f
        )
    ),
)

Text(
    text = "HAS NO SHADOW",
    style = MaterialTheme.typography.body2
)
Run Code Online (Sandbox Code Playgroud)

请注意:正如您在上面看到的,图标是部分透明的,我想保持这种状态 -> 像“将其包裹在 FloatingActionButton 中”这样的解决方案将不起作用

我可以在撰写中执行此操作还是必须要求我的设计师添加阴影?

小智 10

对于阴影高程

Modifier.shadow(elevation: Dp, shape: Shape, clip: Boolean)
Run Code Online (Sandbox Code Playgroud)

对于边框

Modifier.border(border: BorderStroke, shape: Shape)
Run Code Online (Sandbox Code Playgroud)

另外,请检查其他边界功能变体的链接

  • 这两个功能都需要一个形状,但我无法提供,因为我的图标并不简单。还是我误会你了? (4认同)
  • 这个答案并没有真正解释任何事情...... (4认同)