Метод linearGradient
Метод linearGradient класса
Brush
возвращает заливку, которая меняет цвет
вдоль линии от start до end.
Список colors задаёт опорные оттенки,
параметр tileMode решает,
как повторять градиент за пределами отрезка.
Синтаксис
Brush.linearGradient(
colors = listOf(Color.Cyan, Color.Magenta),
start = Offset(0f, 0f),
end = Offset(300f, 300f),
)
Параметры
| Параметр | Описание |
|---|---|
colors |
Список цветов вдоль линии. Принимает значения класса
Color.
|
start |
Начало линии в координатах области.
Точка Offset в пикселях элемента.
|
end |
Конец линии в координатах области. |
tileMode |
Режим повторения за пределами отрезка. Необязательный параметр. |
Пример
Давайте зальём квадрат градиентом по диагонали:
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.geometry.Offset
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 {
Box(
modifier = Modifier
.size(140.dp)
.background(
Brush.linearGradient(
colors = listOf(Color.Cyan, Color.Magenta),
start = Offset.Zero,
end = Offset(400f, 400f),
),
),
) {
Text(text = "abcde")
}
}
}
}
На экране цвет пойдёт от голубого в левом верхнем углу к пурпурному в правом нижнем.
Смотрите также
-
метод
horizontalGradient,
горизонтальный вариант без ручных точек -
метод
verticalGradient,
вертикальный градиент -
класс
Brush,
остальные виды заливки -
метод
background,
куда передают готовый Brush