Метод copy
Метод copy класса
Color
возвращает новый цвет с теми же каналами,
кроме переданных аргументов.
Чаще всего меняют alpha,
чтобы получить прозрачность,
или отдельные red, green, blue.
Синтаксис
Color.Blue.copy(alpha = 0.5f)
Параметры
| Параметр | Описание |
|---|---|
alpha |
Прозрачность от 0 до 1.
Необязательный параметр.
|
red |
Красный канал от 0 до 1.
Необязательный параметр.
|
green |
Зелёный канал от 0 до 1.
Необязательный параметр.
|
blue |
Синий канал от 0 до 1.
Необязательный параметр.
|
Пример
Давайте зальём фон полупрозрачным зелёным:
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 {
Box(
modifier = Modifier
.fillMaxSize()
.background(Color.Green.copy(alpha = 0.3f)),
) {
Text(text = "abcde")
}
}
}
}
На экране зелёная заливка будет слабо видна, текст останется читаемым.
Смотрите также
-
метод
compositeOver,
который смешивает два цвета по правилам альфа -
метод
lerp,
который плавно переходит между цветами -
класс
Color,
где собраны именованные оттенки -
метод
background,
который принимает Color для заливки