Как сделать фон поверхности полупрозрачным в компоновке реактивного ранца, но не содержимое?Android

Форум для тех, кто программирует под Android
Гость
Как сделать фон поверхности полупрозрачным в компоновке реактивного ранца, но не содержимое?

Сообщение Гость »


Я хочу получить такой макет:
Изображение
В XML я бы добавил изображение в относительном макете с атрибутами match_parent, затем представление с черным полупрозрачным фоном, также установленным в match_parent, а затем содержимое.
В XML я бы добавил изображение в относительном макете с атрибутами match_parent, затем представление с черным полупрозрачным фоном, также установленным в match_parent, а затем содержимое.
p>
В Compose я сделал это составным:

Код: Выделить всё

@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()
}
}
}
But the problem is alpha is applied to the surface and its content. So no matter what I put in the content, even if it's another surface with a background, will also be half transparent. Here, for example, the two sentences and two components at the bottom will be half transparent as well.


Источник: https://stackoverflow.com/questions/669 ... but-not-th

Вернуться в «Android»