Метод lerp
Метод lerp класса Radius
смешивает горизонталь и вертикаль двух радиусов.
Доля 0 оставляет первый радиус, доля 1 второй.
Синтаксис
Radius.lerp(Radius.circular(0), Radius.circular(24), 0.5)
Параметры
| Параметр | Описание |
|---|---|
a |
Первый радиус. |
b |
Второй радиус. |
t |
Доля смешивания от 0 до 1.
|
Пример
Давайте возьмём середину между прямым углом и радиусом 24:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Container(
padding: EdgeInsets.all(16),
decoration: BoxDecoration(
color: Color(0xFF1565C0),
borderRadius: BorderRadius.all(Radius.lerp(Radius.circular(0), Radius.circular(24), 0.5)!),
),
child: Text('abcde'),
)
),
),
),
);
}
На экране синяя карточка со средним скруглением, около 12.
Пример
Давайте дойдём до радиуса 24:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Container(
padding: EdgeInsets.all(16),
decoration: BoxDecoration(
color: Color(0xFF1565C0),
borderRadius: BorderRadius.all(Radius.lerp(Radius.circular(0), Radius.circular(24), 1)!),
),
child: Text('12345'),
)
),
),
),
);
}
На экране карточка с полным радиусом 24. Доля 1 отдаёт второй радиус целиком.
Смотрите также
-
метод
circular,
который собирает радиус угла, одинаковый по обеим осям -
метод
elliptical,
который собирает радиус угла с разной горизонталью и вертикалью -
класс
RRect,
который хранит прямоугольник со скруглёнными углами -
класс
BorderRadius,
который собирает радиусы четырёх углов