Класс Color
Класс Color хранит цвет в каналах
alpha, red, green и blue
в диапазоне от 0 до 1.
Готовые оттенки берут из таблицы значений,
свой оттенок собирают через
hsl,
hsv
или литерал Color с компонентами.
Цвет передают в Text,
в метод
background
и в обводку.
Синтаксис
Color.Red
Значения
| Значение | Описание |
|---|---|
Black |
Чёрный цвет, непрозрачный. |
White |
Белый цвет, непрозрачный. |
Red |
Красный цвет, непрозрачный. |
Green |
Зелёный цвет, непрозрачный. |
Blue |
Синий цвет, непрозрачный. |
Yellow |
Жёлтый цвет, непрозрачный. |
Cyan |
Голубой цвет, непрозрачный. |
Magenta |
Пурпурный цвет, непрозрачный. |
Gray |
Серый цвет, непрозрачный. |
Transparent |
Полностью прозрачный цвет. Фон под ним остаётся видимым. |
Unspecified |
Значение по умолчанию для цвета текста. Compose подставляет цвет из темы. |
Методы
| Метод | Описание |
|---|---|
copy |
Возвращает копию цвета с новыми каналами. |
compositeOver |
Кладёт полупрозрачный цвет поверх другого. |
lerp |
Берёт промежуточный цвет между двумя. |
hsl |
Собирает цвет из оттенка, насыщенности и светлоты. |
hsv |
Собирает цвет из оттенка, насыщенности и яркости. |
Пример
Давайте покрасим текст в красный:
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.material3.Text
import androidx.compose.ui.graphics.Color
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
Text(
text = "abcde",
color = Color.Red,
)
}
}
}
На экране строка "abcde"
станет красной.
Пример
Давайте зальём область синим через
Box:
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.size
import androidx.compose.material3.Text
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
Box(
modifier = Modifier
.size(120.dp)
.background(Color.Blue),
) {
Text(text = "abcde")
}
}
}
}
На экране квадрат станет синим, текст окажется поверх заливки.
Смотрите также
-
класс
Brush,
который задаёт градиентную заливку -
класс
SolidColor,
который оборачивает один Color в Brush -
метод
background,
который рисует фон элемента -
функция
Text,
которая принимает параметр color