Jetpack Compose 中具有透明背景的阴影

kud*_*enz 8 alpha shadow android-jetpack-compose

谁能解释一下吗?以及如何使中心矩形与背景颜色消失?

结果在这里

我尝试了很多方法,但仍然无法理解这里的逻辑。(与 Flutter UI 不同)

Box(
            modifier = Modifier
                .fillMaxWidth()
                .shadow(elevation = 3.dp, shape = RoundedCornerShape(28.dp))
                .background(
                    MaterialTheme.colors.primary.copy(alpha = 0.8f),
                    shape = RoundedCornerShape(28.dp)
                )
                .padding(16.dp)

        )
Run Code Online (Sandbox Code Playgroud)

kau*_*v07 4

像这样使用 -

.background(
                MaterialTheme.colors.primary.copy(alpha = 0.8f).compositeOver(Color.White),
                shape = RoundedCornerShape(28.dp)
            )
Run Code Online (Sandbox Code Playgroud)

背景基本上显示高程和阴影,如果你删除它们,它就会消失,因为你使用的是透明颜色,这就是你看到这个的原因。但要使颜色扎实但使用轻compositeOver,那么效果就很好。