Класс Brush
Класс Brush задаёт не один цвет,
а плавный переход между оттенками.
Список цветов передают в параметр colors,
направление и центр задают отдельно
в каждом методе из таблицы ниже.
Готовый Brush передают в
background
или в стиль текста.
Один цвет без градиента удобнее через
Color
или SolidColor.
Синтаксис
Brush.horizontalGradient(listOf(Color.Red, Color.Blue))
Методы
| Метод | Описание |
|---|---|
linearGradient |
Градиент по произвольной линии между двумя точками. |
horizontalGradient |
Градиент слева направо по ширине области. |
verticalGradient |
Градиент сверху вниз по высоте области. |
radialGradient |
Градиент от центра к краям по радиусу. |
sweepGradient |
Градиент по кругу вокруг центра. |
Пример
Давайте зальём блок горизонтальным градиентом:
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.Brush
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
val fill = Brush.horizontalGradient(
listOf(Color.Yellow, Color.Red),
)
Box(
modifier = Modifier
.size(160.dp)
.background(fill),
) {
Text(text = "abcde")
}
}
}
}
На экране фон плавно перейдёт от жёлтого слева к красному справа.
Смотрите также
-
класс
Color,
отдельные оттенки для списка colors -
класс
SolidColor,
заливка одним Color как Brush -
метод
background,
который принимает Brush -
функция
Box,
удобный контейнер для фона