gpt4 book ai didi

android - 如何在jetpack compose中使表面背景半透明,而不是内容?

转载 作者:行者123 更新时间:2023-12-04 23:36:10 24 4
gpt4 key购买 nike

我想实现这个布局:
enter image description here
在 XML 中,我将在具有 match_parent 属性的相对布局中添加一个图像,然后是一个黑色半透明背景也设置为 match_parent 的 View ,然后是内容。
在撰写中,我使这个可组合:

@Composable
fun ImageCover(resourceId: Int, alpha: Float = 0.5f, content: @Composable () -> Unit) {
Box(modifier = Modifier.fillMaxSize()) {
Image(
painter = painterResource(id = resourceId),
contentDescription = null,
modifier = Modifier.fillMaxSize(),
contentScale = ContentScale.Crop
)
Surface(
color = Color.Black, modifier = Modifier
.fillMaxSize()
.alpha(alpha)
) {
content()
}
}
}
但问题是 alpha 应用于表面及其内容。所以无论我放入什么内容,即使是另一个有背景的表面,也会是半透明的。在这里,例如,底部的两个句子和两个组件也将是半透明的。

最佳答案

Surface 的背景颜色基于 color属性。
申请 alpha color属性而不是 Modifier .
就像是:

   Surface(
color = Color.Black.copy(alpha = 0.6f),
modifier = Modifier.fillMaxSize()
){
//....
}
enter image description here

关于android - 如何在jetpack compose中使表面背景半透明,而不是内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66942587/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com