Метод scale
Метод scale класса LinearGradient
применяет коэффициент к матрице градиента.
Если матрицу не задавали, цвета остаются на своих местах и карточка выглядит так же.
Синтаксис
gradient.scale(2)
Параметры
| Параметр | Описание |
|---|---|
factor |
Множитель матрицы. На сами цвета без матрицы он не действует. |
Пример
Давайте оставим коэффициент равным единице:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Container(
padding: EdgeInsets.all(16),
decoration: BoxDecoration(
gradient: LinearGradient(colors: [Color(0xFFC62828), Color(0xFFFFEB3B)]).scale(1),
),
child: Text('abcde'),
)
),
),
),
);
}
На экране карточка со строкой abcde, красный переходит в жёлтый.
Пример
Давайте умножим матрицу на 4, хотя матрицы нет:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Container(
padding: EdgeInsets.all(16),
decoration: BoxDecoration(
gradient: LinearGradient(colors: [Color(0xFFC62828), Color(0xFFFFEB3B)]).scale(4),
),
child: Text('12345'),
)
),
),
),
);
}
На экране карточка со строкой 12345 с тем же переходом красного в жёлтый. Матрицы не было, поэтому коэффициент не сдвинул цвета.
Смотрите также
-
метод
lerp,
который смешивает два линейных градиента -
метод
createShader,
который собирает закраску для холста -
класс
RadialGradient,
который красит круг от центра к краю -
класс
BoxDecoration,
который рисует градиент в поле gradient