Метод compositeOver
Метод compositeOver класса
Color
возвращает итоговый цвет,
как если бы текущий оттенок лег поверх
переданного фона с учётом альфа-канала.
Фон передают параметром background.
Синтаксис
Color.Red.copy(alpha = 0.5f).compositeOver(Color.White)
Параметры
| Параметр | Описание |
|---|---|
background |
Цвет под текущим слоем. Принимает значение класса
Color.
|
Пример
Давайте зальём экран смешанным оттенком:
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material3.Text
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
val overlay = Color.Red.copy(alpha = 0.4f)
val mixed = overlay.compositeOver(Color.White)
Box(
modifier = Modifier
.fillMaxSize()
.background(mixed),
) {
Text(text = "abcde")
}
}
}
}
На экране фон станет светло-розовым, без отдельного полупрозрачного слоя в разметке.